خرید کدهای این نوشتار
تثبيت تصوير نسبت به تصوير هوايي تصحيح شده
بدليل كروي بودن سطح زمين شامل اعوجاجاتي در راستاي x و y ميباشند. تصاوير عكسبرداري هوايي اگر اين اعوجاجات از تصاوير عكسبرداري هوايي حذف شوند، تصوير حاصل را تصوير هوايي تصحيح شده مينامند. در اين مثال بين يك تصوير عكسبرداري هوايي و يك تصوير هوايي تصحيح شده، عمل تثبيت انجام ميشود.
گام 1 : خواندن تصاوير
در اين مثال، تصوير تصحيح شده به عنوان تصوير پايه استفاده شده و westconcordorthophoto.png نام دارد كه يك تصوير سطح خاكستري بوده و انواع مختلف اعوجاجات در آن حذف شده است. تصوير تثبيت نشده westconcordaerial.png نام داشته و شامل برخي انواع اعوجاجات مي باشد.
گام 2 : انتخاب نقاط كنترلي در تصاوير
در اينجا از يك ابزار تعاملي براي انتخاب نقاط كنترلي متناظر در دو تصوير پايه و تثبيت نشده (يا تصوير ورودي) استفاده مي كنيم. اين نقاط كنترلي معمولاً نشانه هايي شامل تقاطع جاد هها و يا عوارض طبيعي زمين مي باشند.
براي شروع اين ابزار تعاملي به صورت زير عمل كنيد:
حال در پنجره ظاهر شده جفت نقاط را تعيين مي كنيم. در شكل زير سه جفت نقطه مشخص شده است. حداقل تعداد جفت نقاط بستگي به نوع تبديلي دارد كه قصد انجام آن را داريد.
گام 3 : ذخيره ي جفت نقاط مشخص شده در فضاي كاري متلب
در پنجره اي كه به كمك آن جفت نقاط را تعيين كرده ايد، از منوي File گزينه ي Export Points to را انتخاب كنيد. براي مثال، سه جفت نقطه ي زير كه در مختصات مكاني بيان شده اند، مربوط Workspace
و ستون سمت x به نقاط انتخاب شده در تصوير ورودي مي باشند. ستون سمت چپ، مقادير مختصه ي
مي باشند: y راست، مقادير مختصه ي
input_points =
118.0000 96.0000
304.0000 87.0000
358.0000 281.0000
127.0000 292.0000
مثال : تثبيت تصوير نسبت به تصوير هوايي تصحيح شده
گام 4 : اصلاح محل نقاط كنترلي (اختياري)
ممكن است نقاط كنترلي كه در مرحله ي قبل انتخاب كرده ايد، كاملاً دقيق و منطبق بر محلهاي مورد نظرتان نبوده باشد؛ بنابراين، بهتر است محل نقاط مذكور را اصلاح كنيد. يك راه انجام اصلاح، استفاده از همبستگي متقابل به كمك دستورcpcorr است. البته، يك شرط لازم براي استفاده از اين دستور اين است كه دو تصوير بايد نسبت به هم چرخش نداشته و نيز داراي يك مقياس باشند. در مثالي كه در حال بررسي آن هستيم، دو تصوير (يعني تصوير پايه و تصوير ورودي) نسبت به هم چرخش دارند؛ بنابراين، در اينجا نمي توان از دستور cpcorr استفاده كرد.
گام 5 : تعين نوع تبديل و به دست آوردن پارامترهاي مربوطه
در اين مرحله، نقاط كنترلي را به دستور cp2tform مي دهيم تا پارامترهاي تبديل مربوطه را محاسبه كند. البته در اين دستور شما بايد نوع اصلي تبديل را نيز تعيين كنيد. براي اين كار با توجه به اعوجاجي كه در تصوير مشاهده مي كنيد بايد يكي از پنج نوع تبديلي كه در بخش بعدي (بخش انواع تبديلات) مي آيد را انتخاب كنيد. در ضمن توجه كنيد كه تصاوير ممكن است بيش از يك نوع اعوجاج داشته باشند. در مثال فعلي، مهمترين اعوجاجي كه در تصوير ورودي وجود دارد، اعوجاج پرسپكتيو است؛ بنابراين، ما بايد نوع تبديلِ projective را انتخاب كنيم:
mytform = cp2tform(input_points, base_points, ‘projective’);
گام 6 : انجام تبديل روي تصوير ورودي (يا تثبيت نشده)
حال نوبت به انجام تبديل به كمك دستور imtransform است:
registered = imtransform(unregistered, mytform);
با توجه به مراحلي كه در مثال قبلي طي كرده بوديم، در اين مثال هم مي توانيد تصوير نيمه شفافي از تصوير تثبيت شده را روي تصوير پايه قرار داده و هر دو را (به منظور ارزيابي بهتر عمل تثبيت تصوير) با هم نمايش دهيم. نتيجه به صورت شكل زير است:
خرید کدهای این نوشتار
نویسنده: دکتر هادی گرایلو