پنج شنبه , شهریور ۳۰ ۱۳۹۶
خانه / image processing / خواندن تصویر و نمایش آن در نرم افزار matlab – پردازش تصویر

خواندن تصویر و نمایش آن در نرم افزار matlab – پردازش تصویر

پردازش تصویر|خواندن تصویر در متلب|نمایش تصویر در متلب|علی اکبر خلیلی

خواندن تصویر در نرم افزار متلب:

۱- I = imread( 'E:\image folder\2.jpg' );
۲- I = imread('2.jpg');

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

پردازش تصویر|خواندن تصویر در متلب|نمایش تصویر در متلب|علی اکبر خلیلی

نمایش تصویر در نرم افزار متلب:

imshow(I)

این تابع برای نمایش تصاویر gray ، rgb و باینری مورد استفاده قرار میگیرد. در صورتی که به شکل فوق استفاده شود مقادیر تصویر را بدون تغییر با همان شدت نمایش می دهد.

imshow(I,[low high])

این تابع نیز مانند حالت قبل کار می کند اما با یک تفاوت که فقط برای تصاویر خاکستری ( gray ) کاربرد دارد. در این حالت شدت پیکسل ها تصویر را بین دو مقدار low و high نمایش می دهد. در حقیقت هر مقداری کمتر و یا مساوی low باشد را سیاه نمایش داده و هر مقداری بزرگتر یا مساوی با high باشد را سفید نمایش می دهد و پیکسل های بین این دو را در یک محدوده خاکستری نمایش می دهد.

پردازش تصویر|خواندن تصویر در متلب|نمایش تصویر در متلب|علی اکبر خلیلی

imtool(I)

تابع imtool شبیه تابع imshow می باشد با این تفاوت که در imtool برخی قابلیت های دیگر پردازش تصویر، بغیر از نمایش تصویر وجود دارد

مانند:

 برش بخشی از تصویر و قابلیت ذخیره کردن بخش برش شده

بررسی دیگارام نوری تصویر

مشاهده موقعیت پیکسلی که نشانگر ماوس روی آن قرار دارد

و…

پردازش تصویر|خواندن تصویر در متلب|نمایش تصویر در متلب|علی اکبر خلیلی

 

نکات:

  1. بعد از معرفی تصویر حتما باید از سیمیکالن ( ; ) استفاده شود. تا عملیات دریافت تصویر و حفظ آن با نام مورد نظر ما انجام شود، اما حاصل آن که پیکسل های تصویر در فضای command window می باشد نمایش داده نشود تا حجم حافظه مورد استفاده بی مورد بالا نرود.
  2. گاهی اوقات ما در m-file اقدام به فراخوانی تصویر میکنیم،باید توجه داشته باشیم در برنامه هایی که قرار است انتقال دهیم و یا حتی در حالت عادی، هم تصاویر و هم توابع را در پوشه برنامه اصلی قرار دهیم تا یک بار با پیام تغییر پوشه اجرای برنامه مواجه شویم و با یک تغییر، برنامه در روال مورد نظر ما اجرا شود.
  3. نمایش توسط تابع imtool کمی طولانی تر از تابع imshow می باشد که این امر بدلیل برخی کاربردهای پرداش تصویر موجود در این تابع می باشد که باعث می شود پدازش بیشتری نیاز داشته باشد.
  4. اگر بخواهیم هنگاه استفاده از تابع imshow موقعیت دقیق یک پیکسل را با ماوس پیدا کنیم، و یا موقعیتی را برای crop بصورت دستی در برخی برنامه ها اعمال کنیم، میتوانیم بعد از دستور imshow از دستور زیر استفاده کنیم:

impixelinfo

۵)  اگر بخواهیم چند تصویر را نمایش دهیم اما هرکدام در صفحه نمایش جدا، از آنجاییکه هنگام نمایش تصویر جدید، صفحه نمایش قبلی بسته می شود. باید با باز نگه داشتن صفحه قبلی صفحه جدید را باز کنیم. در اینجا باید از تابع figure استفاده کنیم که روش استفاده از آن در ادامه ذکر خواهد شد:

Imshow( I1 )
Figure, imshow( I2 )

یا

Imshow( I1 ), figure, imshow( I2 )

اما اگر بخواهیم که تصاویر در یک صفحه نمایش داده شوند، از تابع subplot استفاده می کنیم. مانن حالت بالا هم می توانیم یکجا چند تصویر را نمایش دهیم و هم می توانیم در بخش های مختلف برنامه یا در توابع مختلف بخشی از صفحه plot را پر کنیم. روش استفاده از این تابع به شرح زیر است:

h = subplot(m,n,p) or subplot(mnp);

مثال:

پردازش تصویر|خواندن تصویر در متلب|نمایش تصویر در متلب|علی اکبر خلیلی

پردازش تصویر|خواندن تصویر در متلب|نمایش تصویر در متلب|علی اکبر خلیلی

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

درباره admin

پاسخ دهید