سیستم های مختصات عکس در پردازش تصویر
در این مقاله، به بررسی انواع سیستم های مختصات برای عکس ها در پردازش تصویر و متلب می پردازیم.
در این مقاله، با موارد زیر آشنا خواهید شد:
- سیستم مختصات پیکسلی
- سیستم مختصات فاصله ای
- استفاده از یک سیستم مختصات فاصله ای غیر پیش فرض
سیستم مختصات پیکسلی
به طور کلی می توان گفت که راحت ترین روش برای بیان کردن مکان های درون یک عکس این است که از مختصات پیکسل ها استفاده کنیم. در این سیستم مختصات، عکس مورد نظر همچون یک شبکه از درایه های مجزا در نظر گرفته می شود به طوری که از سمت بالا به پایین و از سمت چپ به راست مرتب شده اند. درست مانند عکس زیر:
در سیستم مختصات پیکسلی، جهت محور r (ردیف) به سمت پایین است، در حالی که جهت محور دوم، یعنی محور c به سمت راست است. مختصات پیکسل ها، اعداد صحیحی هستند و از 1 تا طول آن سطر یا ستون گسترده شده اند.
یک ارتباط یک به یک، بین مختصات پیکسل ها و مختصاتی که متلب از آن برای ماتریس ها استفاده می کند وجود دارد. این ارتباط، باعث می شود که درک ارتباط بین داده ماتریس داده های یک عکس و شیوه ای که عکس نمایش یافته است، آسان شود. بعنوان مثال، داده ی پیکسلی که در سطر پنجم و ستون دوم قرار دارد، در درایه ی (5,2) از ماتریس ذخیره می شود. و شما می توانید برای دسترسی به مقادیر پیکسل های منحصر به فرد، از ماتریس های متلب استفاده کنید. به عنوان مثال با استفاده از دستور زیر می توانید یک پیکسل از ماتریس I را مشخص کنید.
$$I(2,15)$$
سیستم مختصات فاصله ای
در یک سیستم مختصات پیکسلی، یک پیکسل بعنوان یک واحد مجزا در نظر گرفته می شود و به طور منحصر به فرد با یک جفت مختصات، مثل (5,2) مشخص می شود. با در نظر گرفتن این دیدگاه، یک نقطه به صورت (5.3,2.2) هیچ معنی ندارد و تعریف نشده است. اما گاهی از اوقات، می توانیم یک پیکسل را بصورت یک تکه ی مربعی شکل درنظر بگیریم. با در نظر گرفتن این دیدگاه، این بار نقطه ی (5.3,2.2) معنی پیدا می کند. و از نقطه ی (5,2) مجزا می شود. در این سیستم مختصات فاصله ای، درواقع مکان های یک عکس در داخل مکان های یک صفحه قرار می گیرند و به صورت x و y مشخص می شوند( و نه بصورت r و c در یک سیستم مختصات پیکسلی).
در عکس زیر، سیستم مختصات فاصله ای مورد استفاده برای عکس ها را مشاهده می کنید. توجه کنید که در این سیستم مختصات، جهت محور y به سمت پایین است.
این سیستم مختصات فاصله ای، از جهت های مختلفی، به سیستم مختصات پیکسلی شباهت دارد. بعنوان مثال، مختصات فاصله ای نقطه ی مرکزی هر پیکسل بر مختصات پیکسلی آن پیکسل منطبق است. یا به عبارت دیگر مختصات نقطه ی مرکزی هر پیکسل در مختصات فاصله ای، برابر است با مختصات آن پیکسل. اما این دو تفاوت های مهمی با یکدیگر دارند. در مختصات پیکسلی، گوشه ی بالا و سمت چپ از یک عکس برابر است با (1,1) در حالی که در مختصات فاصله ای، این مکان به طور پیش فرض (0.5,0.5) است. این تفاوت از آنجا ناشی می شود که سیستم مختصات پیکسلی گسسته است. در حالی که سیستم مختصات فاصله ای پیوسته است. همچنین می توان گفت که، در مختصات پیکسلی، گوشه ی بالا و سمت چپ، همواره (1,1) است اما شما می توانید برای سیستم مختصات فاصله ای، یک مبدا دلخواه تعیین کنید.
یک تفاوت گیج کننده ی دیگر نیز وجود دارد که بسیار قابل توجه است. این تفاوت از این قرار است که ترتیب مولفه های افقی و عمودی در این دو سیستم مختصات معکوس است. همان طور که قبلا نیز گفتیم، مختصات پیکسل ها به صورت (r,c) بیان می شوند در حالی که مختصات فاصله ای به صورت (x,y) بیان می شوند. در این کتاب، هنگامی که یک تابع از r و c استفاده می کند، دارد از سیستم مختصات پیکسلی استفاده می کند . و هنگامی که از x و y برای مشخص کردن یک تابع استفاده می کنیم، منظور ما سیستم مختصات فاصله ای است.
استفاده از یک سیستم مختصات فاصله ای غیر پیش فرض
به طور پیش فرض، مختصات فاصله ای یک عکس، با مختصات پیکسلی تطابق دارند. بعنوان مثال، نقطه ی مرکزی پیکسل قرار گرفته در سطر ۵ و ستون ۳ ، در مختصات فاصله ای برابر است با x=3,y=5 . ( به یاد بیاورید که ترتیب مولفه ها برعکس است). این تناظر، به طور قابل توجهی، بسیاری از توابع جعبه ابزار را ساده سازی می کند. در درجه ی اول، چندین تابع به جای مختصات پیکسلی از مختصات فاصله ای استفاده می کنند اما تا زمانی که شما از سیستم فاصله ای پیش فرض استفاده کنید، می توانید مکان های مختصات پیکسلی را مشخص کنید.
اما گاهی اوقات ممکن است بخواهید از یک سیستم مختصات فاصله ای غیر پیش فرض استفاده کنید. بعنوان مثال می توانید تعیین کنید که گوشه ی بال و سمت چپ(مبدا) مختصات، به جای (0.5,0.5) مثلا (19.0,7.5) باشد. حالا اگر شما یک تابع را فراخوانی کنید که مختصات این عکس را برگرداند، مختصات برگردانده شده، به این سیستم مختصات فاصله ای غیر پیش فرض تعلق خواهد داشت. برای معین کردن یک سیستم مختصات فاصله ای غیر پیش فرض، می توانید از خصوصیت های عکس XData و YData به هنگام نمایش آن عکس استفاده کنید. این خصوصیت ها، یک بردار دو عنصری هستند، که محدوده ی مختصات تعیین شده توسط عکس را کنترل می کنند. بعنوان مثال، اگر A یک عکس ۱۰۰ سطری و ۲۰۰ ستونی باشد، XData به طور پیش فرض برابر است با [200 1] . مقادیر درون این بردارها، در حقیقت مختصات نقاط مرکزی اولین و آخرین پیکسل ها را مشخص می کنند و نه لبه ی پیکسل ها را. بنابراین محدوده ی مختصات واقعی، کمی بزرگتر خواهد بود. بعنوان نمونه، اگر که XData برابر باشد با [200 1] ، آنگاه محدوده ی محور x عکس ما برابر است با [200.5 0.5] .
دستورات زیر، یک عکس را با استفاده از XData و YData غیر پیش فرض نمایش می دهند.
A = magic(5);
x = [19.5 23.5];
y = [8.0 12.0];
image(A,'XData',x,'YData',y), axis image, colormap(jet(25))
- نوشته شده توسط احسان عباسی
- بازدید: 10116