shape detection with image processing in matlab

پردازش تصویر چیست؟؟

پردازش تصویر روشی برای تبدیل یک تصویر به صورت دیجیتال و انجام برخی از عملیات بر روی آن، به منظور دریافت یک تصویر بهبود یافته و یا برای استخراج برخی از اطلاعات مفید از آن است.

تاریخچه:

در اوایل دهه ۶۰ سفینه فضایی رنجر ۷ متعلق به ناسا شروع به ارسال تصاویر تلویزیونی مبهمی از سطح ماه به زمین کرد. استخراج جزئیات تصویر برای یافتن محلی برای فرود سفینه آپولو نیازمند اعمال تصمیماتی روی تصاویر بود. این کار مهم به عهده لابراتوار  Jet Propulsion قرار داده شد. بدین ترتیب زمینه تخصصی پردازش تصاویر رقومی آغاز گردید و مثل تمام تکنولوژی های دیگر سریعاً استفاده های متعدد پیدا کرد. از سال ۱۹۶۴ تاکنون، موضوع پردازش تصویر، رشد فراوانی کرده است. علاوه بر برنامه تحقیقات فضایی، اکنون از فنون پردازش تصویر، در موارد متعددی استفاده می شود. برای نمونه در پزشکی شیوه های رایانه ای Contrast تصویر را ارتقا می دهند یا این که برای تعبیر آسانتر تصاویر اشعه ایکس یا سایر تصاویر پزشکی، سطوح شدت روشنایی را با رنگ، نشانه گذاری می کنند. متخصصان جغرافیایی نیز از این روش ها یا روش های مشابه برای مطالعه الگوهای آلودگی هوا که با تصویر برداری هوایی و ماهواره ای بدست آمده است، استفاده می کنند. در باستان شناسی برای تصویربرداری سه بعدی از اجسام و فسیل ها مورد استفاده قرار می گیرد. در موزه های نیز روش های پردازش تصویر برای بازیابی عکس های مات شده ای که تنها باقی مانده آثار هنری نادر هستند، مورد استفاده قرار می گیرد. کاربردهای موفق دیگری از پردازش تصویر را نیز می توان در نجوم، زیست شناسی، پزشکی هسته ای، صنعت بیان کرد. پردازش تصویر در صنایع مختلف از جمله صنایع هوافضا،صنایع بسته‌بندی و چاپ، صنایع خودرو، داروسازی و پزشکی، صنایع الکترونیک، صنایع غذایی، صنایع فولاد، آلومینیوم، مس و …،صنایع سلولوزی(کاغذ، مقوا، کارتن)، صنایع لوله، پروفیل فلزی، لوله پلیمری و کابل، صنایع منسوجات (پارچه، موکت، فرش و بافته‌های صنعتی)، صنایع کاشی، سرامیک کاربردهای فراوانی دارد.
پردازش تصویر اساسا شامل سه مرحله زیر است.
· گرفتن تصویر با اسکنر های نوری یا با دوربین ها و حسگرهای دیجیتال.
· تجزیه و تحلیل تصویر که شامل فشرده سازی اطلاعات، بهبود تصویر، تشخیص الگوها
· آخرین مرحله خروجی است که می تواند تصویر یا گزارش باشد که از نتیجه تجزیه و تحلیل تصویر حاصل شده است.
در الگوریتم زیر روند کلی فرایند پردازش تصویر را می توان دید.

هدف از پردازش تصویر

هدف از پردازش تصویر را می توان به ۴ گروه تقسیم کرد.
۱. تشدید تصویر و بهبود
۲. بازیابی تصویر
۳. اندازه گیری الگو
۴. تشخیص تصویر

انواع پردازش تصویر

دو نوع از روش های مورد استفاده برای پردازش تصویر پردازش تصویر آنالوگ و دیجیتال می باشد.  تکنیک های بصری  آنالوگ از پردازش تصویر را برای نسخه های سخت مانند چاپ و عکس استفاده می شود و پردازش تصویر دیجیتال که امروز بیشتر شناخته شده است دارای کاربردهای متعددی از تجزیه و تحلیل تصاویر ماهوارهای تا کنترل ابعادی قطعات میکروسکوپی می باشد.

ماشین بینایی و پردازش تصویر در اتوماسیون صنعتی

کنترل ماشین آلات و تجهیزات صنعتی یکی از وظایف مهم در فرآیندهای تولیدی است. بکارگیری کنترل خودکار و اتوماسیون روزبه روز گسترده تر شده و رویکردهای جدید با بهره گیری از تکنولوژی‌های نو امکان رقابت در تولید را فراهم می‌سازد. لازمه افزایش کیفیت و کمیت یک محصول، استفاده از ماشین آلات پیشرفته و اتوماتیک می‌باشد. ماشین آلاتی که بیشتر مراحل کاری آنها به طور خودکار صورت گرفته و اتکای آن به عوامل انسانی کمتر باشد. امروزه استفاده از تکنولوژی ماشین بینایی و تکنیک‌های پردازش تصویر کاربرد گسترده‌ای در صنعت پیدا کرده‌است و کاربرد آن بویژه در کنترل کیفیت محصولات تولیدی، هدایت روبات و مکانیزم‌های خود هدایت شونده روز به روز گسترده تر می‌شود.
عدم اطلاع کافی مهندسین از تکنولوژی ماشین بینایی و عدم آشنایی با توجیه اقتصادی بکارگیری آن موجب شده‌است که در استفاده از این تکنولوژی تردید و در بعضی مواقع واکنش منفی وجود داشته باشد. علی رغم این موضوع، ماشین بینایی روز به روز کاربرد بیشتری پیدا کرده و روند رشد آن چشمگیر بوده‌است. عملیات پردازش تصویر در حقیقت مقایسه دو مجموعه عدد است که اگر تفاوت این دو مجموعه از یک محدوده خاص فراتر رود، از پذیرفتن محصول امتناع شده و در غیر این‌صورت محصول پذیرفته می‌شود. در زیر پروژه‌هایی که در زمینه پردازش تصاویر پیاده سازی شده‌است، توضیح داده می‌شود. این پروژه‌ها با استفاده از پردازش تصویر، شمارش و اندازه گیری اشیا، تشخیص عیوب، تشخیص ترک، دسته بندی اشیا و عملیات بیشمار دیگری را انجام می‌دهند:
۱.         اندازه گیری و کالیبراسیون
۲.         جداسازی پینهای معیوب
۳.         بازرسی لیبل و خواندن بارکد
۴.         بازرسی عیوب چوب
۵.         بازرسی قرص و بلیسترها
۶.         بازرسی و دسته بندی
۷.         درجه بندی و دسته بندی کاشی
۸.         بازرسی و درجه بندی میوه
۹.         بازرسی عیوب ورق های فلزی، پلیمری و …
۱۰.       بازرسی لوله ها
۱۱.       میکروسکوپ های دیجیتال
۱۲.       اسکن سه بعدی
۱۳.       بازرسی کمی بطری ها
۱۴.       هدایت روبات ها

تشخیص اشیا یا Object detection

تشخیص اشیا یک تکنولوژی کامپیوتری مربوط به بینایی کامپیوتری و پردازش تصویر است که با تشخیص درجای اشیایی با یک کلاس معنایی ( مانند انسان ها، ساختمان ها، یا ماشین ها) در تصاویر و ویدوهای دیجیتالی سروکار دارد. از دامنه های تشخیص اشیا که به خوبی درباره آنها تحقیق شده است میتوان به تشخیص چهره، تشخیص عابر پیاده و تشخیص رانندگان متخلف با دوربین های راهنمایی و رانددگی اشاره نمود.تشخیص اشیا در بسیاری زمینه های دیدگاه های کامپیوتری همچون بازیابی تصویر و نظارت ویدویی کاربرد دارد.
تشخیص اشیا در شناسایی چهره استفاده میگردد. همچنین در دنبال نمودن اشیا، برای مثال دنبال نمودن مسیر یک توپ در طی یک بازی فوتبال، دنبال نمودن حرکت یک چوب بیسبال، دنبال نمودن یک فرد در یک ویدئو نیز استفاده میشود.

مفهوم

هر کلاس شیئی ویژگی های منحصر به فرد خود را دارد که به دسته بندی آن کلاس کمک مینماید – برای مثال تمام دایره ها گرد هستند. شناسایی کلاس اشیاء از این ویژگی های منحصر به فرد استفاده میکند. برای مثال، زمانی که به دنبال دایره ها میگردد، اشیائی که در فاصله معنی از یک نقطه هستند ( به بیان دیگر مرکز دایره) دیده میشوند. به طور مشابه، زمانی که به دنبال مربع ها میگردیم، اشیائی که در گوشه ها قائمه هستند و اضلاعی برابر دارند مورد نیاز هستند. روندی مشابه برای شناسایی صورت استفاده میشود، جایی که چشم ها، بینی، و لب ها قابل شناسایی با ویژگی هایی مخصوص به خود نظیر رنگ و فاصله میان دو چشم و … هستند.

Image Processing Matlab Toolbox

در این بخش سعی می‌کنیم به بررسی تمامی توابع موجود در تولباکس پردازش تصویر متلب رو به صورت دسته‌بندی شده به فارسی بپردازیم و حتی‌الامکان یک نمونه مثال هم از هرکدوم بیاریم. همچنین سعی شده توضیحات به زبان محاوره نوشته بشه تا خوندن و فهمیدنش آسونتر باشه

۱- وارد کردن، استخراج کردن و تبدیل (Import, Export and Conversion)

در اولین بخش، دستورات مربوط به خواندن تصاویر مختلف در متلب، نحوه ذخیره تصاویر از طریق متلب و همچنین نحوه تبدیل فرمت تصاویر توضیح داده میشه.

۱-۱- وارد و استخراج کردن (دستورات پایه‌ای)

*imread

از این دستور برای فراخوانی تصاویر با فرمت‌های مختلف مانند jpg، png، bmp، tif و غیره استفاده میشه. نحوه استفاده از این دستور هم به شکل زیر هست که تنها کافیه در داخل پرانتز دو علامت ‘ ‘ گذاشته و سپس داخل این علامت‌ها آدرس تصویر مورد نظر خودتون رو بنویسید. تصویر شما میتونه در هرکجا از فضای هاردتون و در هر درایو دلخواهی باشه و تنها کافیه که آدرس تصویر رو به صورت کامل مانند شکل زیر به دستور imread بدید. مثلا در دستور زیر، تصویری بنام howsam_logo.jpg رو فراخوانی کردیم. این تصویر در درایو E و پوشه Howsam قرار گرفته…

اگر تصویری که می‌خوایم فراخوانی کنیم، توی پوشه ای باشه که برنامه رو دخیره کردیم، می ‌تونیم دستور رو به شکل زیر بنویسیم:

و یا اگه داخل پوشه‌ای که برنامه رو ذخیره کردیم یه پوشه دیگه باشه که تصویرهامون داخل اون پوشه باشه، می تونیم دستور رو به صورت زیر بنویسیم(فرض کنید برنامه مون توی پوشه Howsam ذخیره شده باشه و داخل Howsam یه پوشه ای به نام img داشته باشیم که تصویرهامون اونجا ذخیره شده باشند):

* imwrite

از این دستور برای ذخیره یک تصویر در هارد استفاده میشه. با استفاده از این دستور شما می‌تونید تصویر مد نظر خودتون در برنامه MATLAB رو در هرجایی از هارد خود ذخیره کنید تا اون رو داشته باشید و یا اینکه در نرم‌افزارهای دیگری مانند ورد یا پاورپوینت از اون استفاده کنید. طریقه استفاده از این دستور هم بسیار ساده هست؛ این دستور به دو ورودی نیاز داره. ورودی اول: نام تصویری که می‌خواهید ذخیره کنید، ورودی دوم: آدرس جایی که می‌خواهید تصویر در اون ذخیره بشه و همچنین نام تصویر و نوع فرمت تصویر ذخیره شده رو هم باید تعیین کنید. به عبارت دیگر در دستور زیر به MATLAB دستور داده شده که ماتریس A رو در محلی بنام درایو E و پوشه‌ای بنام howsam با نام salam و فرمت تصویر png ذخیره کنه. توجه کنید که آدرس‌ها باید در علامت‌های ‘ ‘ قرار داشته باشن.

* imfinfo

با استفاده از دستور imfinfo مجموعه‌‌ای از اطلاعات کلی درباره یک تصویر در اختیار شما قرار می‌گیره. این اطلاعات شامل اندازه تصویر (طول و عرض تصویر)، حجم تصویر، نحوه کدینگ تصویر، مسیر تصویر در هارد و غیره هست.

* image

از این دستور برای نمایش یک تصویر استفاده میشه. همچنین، این دستور می‌تونه یک ماتریس رو به صورت تصویر نمایش بده. به عنوان مثال، ماتریس زیر رو در نظر بگیرید که با استفاده از دستور image به شکل یک تصویر نمایش داده شده. با دستور colorbar یک میله رنگی در کنار تصویر نشون داده میشه. میتونید این میله مستطیلی رو در تصویر زیر ببینید.

۲-۱- فرمت فایل‌های علمی (Scientific File Formats)

در دومین بخش از مجموعه دستورات تولباکس پردازش تصویر متلب در مورد فرمت فایل‌های علمی توضیح خواهیم داد. دستورات این بخش بیشتر مربوط به فایل‌ها و تصاویر پزشکی هست و بنابراین برای افرادی که به تازگی شروع کردن تولباکس پردازش تصویر متلب رو یاد بگیرن، میتونن از این بخش عبور کنن و مشکلی هم پیش نمیاد.

۳-۱- تصاویر hdr 

تصاویر hdr که مخفف تصاویر high dynamic range هستن شامل دستورات جداگانه‌ای برای فراخوانی در متلب هستن که در ادامه در موردشون توضیح داده میشه.

* hdrread

این دستور برای خواندن تصاویر hdr استفاده میشه. تصاویر hdr، تصاویری هستند که به صورت RGB هستن و از همه مهم‌تر بازه تغییر اعداد آنها [inf 0] هست. درحالی‌که در تصاویر معمولی بازه اعداد [۲۵۵ ۰] هست. این مساله نشون میده که ما با تصاویری سر و کار داریم که میزان رنگ بیشتری در اون وجود داره. نحوه نمایش این تصاویر هم کمی متفاوت با نمایش تصاویر معمولی هست. پس از خواندن تصویر hdr مطابق کدهای زیر باید با استفاده از دستور tonemap تصویر hdr را برای نمایش رندر (render) کرد و سپس از دستور imshow برای نمایش تصویر استفاده نمود.

* hdrwrite

مطمئنا با توضیحاتی که تا الان داده شده، میدونید که این دستور چه کاربردی داره. از این دستور برای ذخیره تصاویر hdr از طریق متلب استفاده میشه. نحوه استفاده از این دستور دقیقا شبیه دستور imwrite هست و هیچ تفاوتی با هم ندارن.

* makehdr

* tonemap

تصویر داینامیک رنج بالا رو به یک تصویر با داینامیک رنج پایین‌تر تبدیل میکنه تا بشه با استفاده از دستوری مانند imshow در متلب تصویر رو به در نمایش در آورد. نحوه استفاده از این دستور رو هم در hdrread توضیح دادیم.

۴-۱- تصاویر بزرگ (Large Image Files)

۵-۱- تبدیل نوع تصاویر (Image Type Conversion)

* gray2ind

این دستور تصویر سطح خاکستری رو به یک تصویر ایندکس شده تبدیل میکنه. همونطور که در کدهای زیر هم میبینید، این دستور دو تا ورودی داره که یکیش تصویر ورودی هست که باید یا تصویر سطح خاکستری باشه و یا اینکه تصویر سیاه سفید باشه. ورودی دوم هم اندازه colormap یا همون تعداد سطوح رنگی رو نشون میده. مثلا ببینید وقتی که مقدار n رو از عدد ۴ به عدد ۱۶ تغییر میدیم چه اتفاقی میفته… تعداد سطوح خاکستری بیشتر میشه و بنابراین تصویر ایندکس شده هم به تصویر اصلی نزدیک‌تر میشه.

تصویر سمت راست: تصویری با چهار ایندکس، تصویر سمت چپ: تصویری با شانزده ایندکس.

* ind2gray

این دستور برعکس دستور قبلی هست که دو ورودی داره و مطابق کدهای زیر، متغیر اول یک تصویره و متغیر دوم colormap هست. به عنوان مثال کدهای زیر رو ببینید، اگر تصویر رو به صورت ایندکس شده بخواییم نشون بدیم تصویر سمت چپ حاصل میشه و اگه با استفاده از دستور ind2gray تبدیلش کنیم به تصویر سطح خاکستری، تصویر سمت راست بدست میاد.

* mat2gray

این دستور برای تبدیل ماتریس‌ها به تصاویر سطح خاکستری استفاده میشه. بازه اعداد در تصویر سطح خاکستری خروجی [۱ ۰] هست. نحوه استفاده از این دستور به صورت زیر هست:

* rgb2gray

یکی از متداول‌ترین دستورات در کدنویسی پردازش تصویر هست که کار تبدیل تصاویر رنگی RGB به تصاویر سطح خاکستری رو انجام میده. نحوه استفاده از این دستور هم بسیار ساده هست. به کدهای زیر توجه کنید:

* im2double

تبدیل تصویر به یک تصویر از نوع دابل (double). نحوه استفاده از این دستور هم به صورت زیر هست:

*im2int16

تبدیل تصویر به یک تصویر از نوع صحیح علامت‌دار ۱۶ بیتی (sigend integer). نحوه استفاده از این دستور هم به صورت دستور بالاست.

* im2java2d

تبدیل تصویر به تصویر از نوع جاوا که فرمت مخصوص به خود را دارد. به عنوان نمونه، در دستورات زیر تصویر به تصویر نوع جاوا تبدیل شده و سپس در قالب جاوا به نمایش تصویر پرداخته شده است. لازم به ذکر است که بعضی از دستورات جاوا در متلب قابل اجراست.

* im2single

تبدیل تصویر به یک تصویر از نوع signle-precision.

* im2uint8

تبدیل تصویر به یک تصویر از نوع صحیح بدون علامت ۸ بیتی (unsigned integer).

* im2uint16

تبدیل تصویر به یک تصویر از نوع صحیح بدون علامت ۱۶ بیتی (unsigned integer).

۶-۱- تصاویر مصنوعی

دستورات این بخش مربوط به ساختن تصاویر مصنوعی برای انجام فرآیندهای پردازشی بر روی آنهاست. تعداد دستورات این بخش بسیار کم است و فراگیری آن بسیار می‌تواند سودمند باشد.

* checkerboard

یک تصویر شطرنجی ۸×۸ ساخته می‌شه که به عنوان ورودی می‌شه تعیین کرد که طول ضلع هر مربع چند پیکسل باشه. به عنوان نمونه، با کدهای زیر یک تصویر شطرنجی به ابعاد ۸×۸ که هر مربع ۲۰ پیکسل طول داره تشکیل می‌شه.

* phantom

یک تصویر از ناحیه سر می‌سازه. مطابق کدهای زیر ورودی اول مدل تصویر رو مشخص و تصویر دوم ابعاد تصویر رو تعیین می‌کنه.

* imnoise

اضافه کردن انواع نویز به تصویر به صورت مصنوعی. ۵ نوع نویز gaussian، localvar، salt & pepper، poisson و speckle در این دستور وجود داره که به دلخواه هر کدوم از اونها رو که نیاز دارید میتونید استفاده کنید. در ادامه توضیح میدیم که هر کدوم از انواع نویزهای زیر مربوط به چی هستن:

۱- gussian نویز: نویز گوسین ایجاد میکنه. برای استفاده از این نوع نویز باید به عنوان ورودی تعیین کنید که مقدار انجراف معیار و میانگین نویز چقدر هست. نحوه استفاده از این دستور به شکل زیر هست:

۲- localvar نویز: این نوع نویز همون نویز گوسین تنها با میانگین صفر هست. بنابراین، در این حالت تنها یه پارامتر به عنوان ورودی داریم و اونهم پارامتر واریانس هست و میانیگن اون همواره صفر هست.

۳- salt & pepper نویز: نویز فلفل نمک همون نویزی هست که در تصویر یکسری پیکسل‌های سفید و سیاه رنگ ایجاد میکنه. این نویز هم یه پارامتر تنطیم بنام شدت نویز داره که با اون میزان نویز در تصویر تنظیم میشه.

۴- poisson نویز: نویز poisson ایجاد میکنه که پارامتر تنظیمی هم نداره و هیچ پارامتری نیست که باهاش میزان این نوع نویز رو کم یا زیاد کنیم.

۵- speckle نویز: این نوع نویز میانگین صفر داره ولی واریانس رو به عنوان یه پارامتر ورودی میتونید تنظیم کنید.

۲- نمایش و اکتشاف (Display and Exploration)

۱-۲- نمایش‌های پایه‌ای

* imshow

برای نمایش تصاویر به کار میره. این دستور مشابه با دستور image هست که پیش از این معرفی کردیم، با این تفاوت که image می‌تونه ماتریس‌های با ابعاد کوچک رو هم به خوبی و در اندازه بزرگ نشان بده، اما دستور imshow یک ماتریس کوچک رو بسیار ریز نشان می‌ده و عملا چیزی قابل مشاهده نیست.

یکی دیگه از ویژگی‌های دستور imshow این هست که درون پرانتز به عنوان ورودی می‌تونید حتی بجای قرار دادن متغیر تصویر، آدرس تصویر رو قرار بدید. به مثال زیر دقت کنید.

* montage

این دستور کاربرد جالبی داره. تصور کنید که شما یه پوشه دارید که شامل ۱۰ تا تصویره. حالا میخوایید این ده تا تصویر رو ببینید و با هم مقایسشون کنید. برای مقایسه اونها یکی از بهترین کارایی که میشه کرد اینه که از دستور montage استفاده کنید. به کدهای زیر نگاه کنید. ابتدا یه پوشه شامل تصاویر انتخاب شده و بعد اسامی این تصاویر در یک متغیری بنام filenames قرار داده شده و بعد این متغیر به عنوان ورودی به دستور montage داده شده.

 

* subimage

چند تصویر رو یکجا و در یک شکل نشون میده. معمولا از این دستور آنچنان استفاده نمیشه. نحوه استفاده از این دستور بسیار ساده هست و می‌تونید در کدهای زیر بینید.

* immovie

این دستور برای ساخت یک ویدیو استفاده میشه. این دستور به عنوان ورودی به یک ماتریس نیاز داره که باید شامل فریم‌ها و یا مجموعه تصاویری که میخواییم به شکل ویدیو نشونش بدیم. این ماتریس باید به شکل m×n×۱×k باشه. یعنی k تا تصویر یا فریم داریم که سایز هرکدومشون m×n هست. در کدهای زیر یک فایل بنام mri خونده شده که شامل ۲۷ فریم با ابعاد ۱۲۸×۱۲۸ هست. برای نمایش ویدیو هم میشه از دستور implay استفاده کرد.

* implay

همان‌طور که در دستور قبلی مشاهده کردید، از این دستور برای نمایش یک ویدیو استفاده میشه. پس از اجرا، پنجره‌ای باز میشه که شامل ابزارهایی هم برای نمایش ویدیو هست.

* warp

این دستور در زمینه سه بعدی کاربرد زیادی داره. با استفاده از این دستور میتونیم یک بافت (texture) رو روی یک منحنی دلخواه قرار بدیم. مثلا در پروژه‌های سه بعدی سازی، ابتدا از طریق روش‌های مختلف شکل سه‌بعدی شی مورد نظر ساخته میشه و بعد با استفاده از این دستور میشه بافت اون شی رو، روش شکل سه بعدی قرار داد.

۲-۲ نرم‌افزار نمایش تصویر

* imtool

با استفاده از این دستور پنجره‌ای برای نمایش تصویر باز میشه که شامل تعدادی ابزار هست. از جمله ابزارها می‌تونیم به فاصله بین دو پیکسل را اندازه بگیریم یا تصویر رو ببریم و … . نحوه استفاده از این دستور هم به صورت زیر هست:

لازم به ذکره که میشه بجای آدرس تصویر، متغیر تصویر رو هم بکار ببریم. مثلا تصویر رو با استفاده از دستور imread فراخونی کردیم و در متغیری بنام I ریختیم. حالا می‌تونیم بنویسیم:

* imageinfo

پنجره‌ای باز میشه و همانند دستور imfinfo اطلاعاتی در مورد تصویر در اختیار قرار میده. البته این دستور اطلاعات بیشتری در اختیارمون قرار میده. نحوه استفاده از این دستور هم خیلی ساده هست.

* imcontrast

پنجره‌ای باز میشه که از طریق اون میتونیم کنتراست در تصویر رو تغییر بدیم. نحوه استفاده از این دستور هم بسیار آسون هست. به مثال زیر دقت کنید:

من یک بلاک متن هستم، روی دکمه ویرایش کلیک کنید تا این متن را تغییر دهید. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

* imdisplayrange

همون‌طور که میدونید بازه اعداد در تصاویر معمولا بین ۰ تا ۲۵۵ هست. اما تصاویر با فرمت‌های مختلفی هم هستند که بازه اعدادشون متفاوته. با استفاده از این دستور موقعی‌که تصویر رو نمایش میدیم، یه عبارتی در گوشه پایین سمت راست تصویر نوشته میشه که نشون میده بازه اعداد در تصویر چقدر هست.

* imdistline

با استفاده از این دستور میتونیم فاصله بین دو پیکسل رو اندازه بگیریم. یعنی بعد از این دستور پنجره‌ای باز میشه که به شما این امکان رو میده پیکسل‌های مد نظرتون رو روی تصویر علامت‌گذاری کنید و بعد فاصله بین دو تا پیکسل رو اندازه‌گیری میکنه.

* impixelinfo

این دستور معمولا بعد از دستور imshow نوشته میشه. اطلاعاتی در مورد هر پیکسل میده. یعنی اگه به تصویر زیر دقت کنید، میبینید جایی‌که ماوس قرار گرفته اطلاعاتی از اون پیکسل شامل مختصات و همچنین شدت رنگش در اختیار ما قرار میده که میتونه خیلی مفید باشه.

 

* impixelregion

مقدار پیکسل‌های در یک ناحیه از تصویر را مطابق شکل نشان میده. مطابق بسیاری از دستورات این بخش، استفاده از این دستور نیز بسیار آسونه.


حال برای مطالعه بیشتر نیز میتوانید از این دو فایل استفاده نمائید.