گرفتن اطلاعات از پیکسل های یک عکس
در این مقاله، با موارد زیر آشنا خواهید شد:
- مشخص کردن مقدار پیکسل ها
- مشخص کردن مقدار یک گروه از پیکسل ها
- مشخص کردن محدوده ی نمایش یک عکس
مشخص کردن مقدار پیکسل های تکی
ابزار عکس، در سمت چپ و پایین خود، اطلاعاتی را در مورد موقعیت و مقدار پیکسل های تکی، نشان می دهد. این مقدار و موقعیت، در واقع نشان دهنده ی پیکسلی است که در زیر نشان نگر ماوس قرار دارد. همان طور که شما ماوس را بر روی عکس حرکت می دهید، ابزار عکس، این اطلاعات را آپدیت می کند. بعنوان نمونه می توانید یک عکس را در ابزار عکس مشاهده کنید:
مثال (گرفتن اطلاعات از پیکسل های یک عکس)
imtool('moon.tif')
در عکس زیر، ابزار عکس به همراه موقعیت و مقدار یک پیکسل نشان داده شده است:
ذخیره کردن مقدار پیکسل و موقعیت آن
برای ذخیره کردن مقدار و موقعیت یک پیکسل، بر روی آن راست-کلیک کنید و سپس گزینه ی Copy pixel info را انتخاب کنید. با انجام این کار، ابزار عکس، مختصات x و y و مقدار آن پیکسل را در حافظه ذخیره می کند. برای الصاق کردن اطلاعات پیکسل ها در محیط Workspace متلب، و یا دیگر مکان ها، می توانید راست-کلیک کنید و سپس از منوی باز شده گزینه ی Paste را انتخاب کنید.
تعیین مقادیر یک گروه از پیکسل ها
برای مشاهده ی مقادیر پیکسل ها در یک محدوده ی خاص از عکس نمایش داده شده در ابزار عکس، می توانید از ابزار Pixel Region استفاده کنید.با شروع ابزار Pixel Region، بر روی عکس مورد نظر یک مستطیل قرار می گیرد. این مستطیل، یک محدوده از پیکسل ها را که مشخص می کند.
همان طور که در عکس زیر مشاهده می کنید، ابزار عکس به همراه ابزار Pixel Region نشان داده شده است.
اجرا کردن ابزار Pixel Region
برای اجرا کردن ابزار Pixel Region، بر روی دکمه ی آن در منوی ابزار عکس کلیک کنید و یا از منوی Tools گزینه ی Pixel Region انتخاب کنید.
شخصی سازی دیدگاه قابل مشاهده
برای اینکه روی پیکسل ها زوم کنیم، می توانید از دکمه ی zoom که در نوارابزار Pixel Region قرار دارد، استفاده کنید. هرچقدر که زوم کنید، سایز پیکسل های نشان داده شده در ابزار Pixel Region بیشتر می شود و تعداد کمتری از پیکسل ها نمایش می یابند. اما هرچقدر که میزان زوم را کاهش دهد، سایز پیکسل های ابزار Pixel Region کاهش می یابد و پیکسل های بیشتری قابل مشاهده خواهند بود. برای تغییر دادن تعداد پیکسل های نمایش یافته در این ابزار، بدون اینکه میزان بزرگ نمایی را تغییر دهید، می توانید با استفاده از ماوس، سایز ابزار Pixel Region را تغییر دهید.
همان طور که میزان زوم را افزایش یا کاهش می دهید، توجه کنید که چطور سایز مستطیل Pixel region تغییر می کند. شما می توانید با استفاده از ماوس، مستطیل Pixel region را تغییر دهید. در صورتی که سایز مستطیل pixel region را تغییر دهید، بزرگ نمایی پیکسل های نمایش یافته در ابزار Pixel region تغییر می کند.
اگر میزان بزگ نمایی اجازه دهد، ابزار Pixel Region مقدار عددی هر پیکسل را بر روی آن، نشان می دهد. در عکس های RGB، این اطلاعات با سه عدد نمایش داده می شوند. هر عدد برای یک لایه از عکس. برای عکس های ایندکس شده، این اطلاعات حاوی مقدار ایندکس و مقدار RBG مرتبط با آن است. اگر دوست ندارید که این مقادیر نمایش داده شوند، از منوی Edit در ابزار Pixel Region، گزینه ی Superimpose Pixel Values را از حالت انتخاب خارج کنید.
تعیین موقعیت مستطیل Pixel Region
برای تعیین موقعیت مستطیل Pixel region در عکس مورد نظر، می توانید از اطلاعات پیکسلی داده شده در پایین این ابزار استفاده کنید. این اطلاعات عبارتند از مختصات x و y در سیستم مختصات عکس مورد نظر. هنگامی که شما مستطیل pixel region را بر روی عکس مورد نظر حرکت می دهید، اطلاعات پیکسلی قرار گرفته در پایین این ابزار تا زمانی که شما ماوس را دوباره بر روی ابزار Pixel region نبرید، تغیر نمی کنند.
شما همچنین می توانید از منوی Edit در ابزار Pixel Region، گزینه ی Copy Position را انتخاب کنید تا، موقعیت جاری مستطیل Pixel region را کپی کنید. با انجام این کار، اطلاعات موقعیت مستطیل در حافظه کپی می شوند. این اطلاعات به صورت یک بردار همچون مثال زیر ذخیره می شوند:
مثال (گرفتن اطلاعات از پیکسل های یک عکس)
[xmin ymin width height]
برای الصاق کردن این موقعیت در محیط workspace متلب، یا در دیگر اپلیکیشن ها، کافیست راست-کلیک کنید و از منوی باز شده گزینه ی Paste را انتخاب کنید. به عکس زیر توجه کنید:
مشخص کردن محدوده ی نمایش یک عکس
ابزار عکس اطلاعاتی را در مورد محدوده ی نمایش(display range) پیکسل های درون یک عکس سیاه و سفید، ارائه می دهد. محدوده ی نمایش یک عکس، عبارت است از مقدار محور CLim که نگاشت عکس یا همان CData را در نقشه ی رنگ عکس کنترل می نماید. CLim یک بردار دو عنصری به صورت [cmin cmax] است که در آن cmin مشخص کننده ی آن مقدار از CData است که از آن برای رسم اولین رنگ در نقشه ی رنگ استفاده می شود. و cmax مشخص کننده ی آن مقدار از CData است که از آن برای رسم آخرین رنگ در نقشه ی رنگ استفاده می شود. مقادیر بین این دو به صورت خطی مقیاس دهی می شوند.
ابزار عکس، این اطلاعات را در در ابزار Display Range در گوشه ی پایین و سمت راست نشان می دهد. ابزار عکس، محدوده ی نمایش برای عکس های ایندکس شده یا عکس هایرنگی یا عکس های باینری را نشان نمی دهد. بعنوان مثال، یک عکس را با استفاده از دستور زیر، در ابزار عکس نشان دهید:
مثال (گرفتن اطلاعات از پیکسل های یک عکس)
imtool('moon.tif')
در عکس زیر، ابزار عکس به همراه عکس مورد نظر و محدوده ی نمایش(display range) نشان داده شده است:
- نوشته شده توسط احسان عباسی
- بازدید: 19407
دیدگاهها
سلام وقت بخیر
من میخوام میانگین RGB پیکسل های یه عکس رو بدست بیارم ممنون میشم راهنماییم کنید.
سلام
میشه پیکسل های تمام تصویر را در یک ماتریس نمایش داد و یک سری عملیات روی ماتریس انجام داد؟مثلا جستجوی سطر تکراری در ماتریس پیکسل ها
سلام
من چطور میتونم با حلقه for ، یه عکس رو سر و ته بکنم؟(بدون استفاده از دستور imrotate)
با سلام. من میخوام یه تعداد پیکسل با شدت های نوری تو یک بازه مثلا 20 تا 30 رو از تصویر حذف کنم. میخواستم بدونم الگوریتمش تو متلب چطوریه.
متشکرم
سلام.
برای انجام این کار یک تابع ایجاد کرده ام می تونید از لینک زیر دانلود کنید:
beyamooz.com/images/matlab/functions/testRange.zip
روش کار به صورت زیر است:
>> im = imread('soda.jpg');
>> img = testRange(im,10,100,0);
>> imshow(img)
1. ابتدا عکس را می خوانیم.
2. سپس متغیر تصویر را به تابع testRange می دهیم. و بعد محدوده ی مورد نظر که می خواهیم حذف شود را می نویسیم. و بعد مقداری که می خواهیم جایگزین این موارد شود را می نویسیم. مثلا در اینجا مقدار 0 جایگزین می شود.
3. تصویر را نمایش می دهیم.
اگر تابع ایرادی داشت همین جا مطرح نمایید.