پردازش تصویر مقدماتی
باز کردن عکس های درون ویندوز با MATLAB
فایل های عکس درون ویندوز را به دو روش می توانیم باز کنیم. روش اول این می باشد که فایل در درون خود نرم افزار MATLAB باز شود که برای مواردی مفید می باشد که بخواهیم با دستوراتی، تغییرات مورد نظر خود را بر عکس اعمال کنیم. روش دوم این می باشد که عکس توسط برنامه ای باز شود که خود ویندوز برای آن نوع فایل تعیین کرده می باشد که این مورد نیز می تواند در ساخت برنامه های کاربردی توسط MATLAB، مفید واقع شود.
در ادامه، دستورات مربوط به این دو روش را شرح خواهیم داد.
باز کردن عکس به وسیله خود نرم افزار MATLAB
چنانچه بخواهیم که عکس به وسیله خود نرم افزار MATLAB باز شود، باید از دستور open می باشداستفاده کنیم. به به عنوان مثال زیر توجه کنید
به عنوان مثال
open(‘c \1.jpg’)
پس از اجرا میتوان نتیجه را این گونه دید
MATLAB پنجره ای را باز کرده و عکس مورد نظر را نمایش می دهد.
باز کردن عکس به وسیله نرم افزارهای ویندوز
چنانچه بخواهیم عکس یا هر فایل دیگر در برنامه ای باز شود که ویندوز برای آن مشخص کرده می باشد (نه در نرم افزار MATLAB)، باید از دستور winopen استفاده کنیم. به به عنوان مثال زیر توجه کنید
به عنوان مثال
winopen(‘c \1.jpg’)
عکس 1.jpg در برنامه ای که ویندوز برای باز کردن عکس ها مشخص کرده می باشد، باز می شود. دقت کنید که آدرس محل عکس را بین دو علامت ‘ گذاشته ایم.
وارد کردن عکس های ویندوز به درون MATLAB
فرض کنید در یکی از درایوهای ویندوز خود، عکسی دارید که می خواهید به وسیله نرم افزار MATLAB، بر روی آن عکس، تغییراتی را اعمال کنید. مسلما قبل از هر چیز، نیاز دارید که آن عکس را در نرم افزار MATLAB وارد کنید. برای این منظور می توانید از هر یک از روش های زیر اقدام کنید
روش اول
در پنجره اصلی MATLAB، بر روی گزینه Open file (به شکل ) کلیک کنید. در پنجره ای که باز می شود، گزینه Files of type برابر All MATLAB files قرار داده شده می باشد، باید این گزینه را به All Files تغییر دهید تا بتوانید هر نوع فایلی را انتخاب کنید (مثلا عکسی با فرمت jpeg). سپس فایل خود را یافته و بر روی گزینه Open کلیک کنید. پنجره ای به شکل زیر باز می شود
در این مرحله، MATLAB می خواهد اطلاعات عکس شما را در متغیری ذخیره کند. اگر نام عکس شما یک نام مجاز برای MATLAB باشد، MATLAB همان نام را برای متغیر انتخاب می کند و اگر نام، غیر مجاز باشد، MATLAB آن را تغییر می دهد. مثلا اگر عکسی با نام 1.jpeg را انتخاب کرده باشید، MATLAB نام x1 را برای متغیر انتخاب می کند.
شما می توانید بر روی نام انتخاب شده، دو بار کلیک کنید و نامی دیگر را انتخاب نمایید. پس از انتخاب نام مورد نظر خود، بر روی گزینه Finish کلیک کنید تا پنجره بسته شود.
برای آن که عکس خود را در MATLAB مشاهده کنیم، دستور زیر را اجرا می کنیم (برای متغیر با نام x1)
image(x1)
title ‘x1’
axis off
axis image
نرم افزار MATLAB، پنجره ای را باز کرده و عکس مورد نظرمان را نمایش می دهد.
روش دوم می باشداستفاده از دستور imread
در این روش نیز اطلاعات عکس در متغیری ذخیره خواهد شد و تنها تفاوت با روش قبل این می باشد که باید آدرس عکس مورد نظر را به طور دقیق در دستور imread بنویسید. به به عنوان مثال زیر توجه کنید
به عنوان مثال
A = imread(‘c \1.jpg’);
MATLAB متغیری با نام A ایجاد می کند که حاوی اطلاعات عکس می باشد. برای مشاهده عکس در MATLAB، برنامههای زیر را اجرا می کنیم
image(A)
title ‘A’
axis off
axis image
MATLAB پنجره ای را باز کرده و عکس را نمایش می دهد.
تغییر سایز یک تصویر با دستور imresize در MATLAB
با می باشد استفاده از دستور imresize در MATLAB، می توانیم سایز یک تصویر را تغییر بدهیم. با دستور imresize ، می توانیم تعیین کنیم که سایز تصویر تا چه سایز بزرگتر یا کوچکتر شود. دستور imresize را می توانیم به چندین روش مختلف به کار ببریم. این روش ها را در ادامه توضیح می دهیم.
تغییر سایز بر اساس ضریبی از سایز تصویر اولیه
با فرض اینکه اطلاعات تصویر، در متغیر image ذخیره شده باشد، آنگاه چنانچه دستور imresize را به صورت imresize(image,A) به کار ببریم، که در آن A یک ضریب عددی می باشد، آنگاه دستور imresize ، تصویر image را به سایز ضریب A ، بزرگتر یا کوچکتر می کند. اگر ضریب A بین 0 تا 1 باشد، آنگاه تصویر حاصل، از تصویر image ، کوچکتر خواهد بود و چنانچه ضریب A ، بزرگتر از 1 باشد، آنگاه تصویر حاصل، از تصویر image ، بزرگتر می شود. به عنوان مثال زیر توجه کنید
به عنوان مثال
برنامه های زیر را می نویسیم
clear all
close all
clc
image=imread(‘friend.jpg’);
imshow(image)
image_new=imresize(image,0.5)
figure
imshow(image_new)
ابتدا تصویری با نام friend.jpg را با دستور imread ، در نرم افزار MATLAB وارد می کنیم و آن را با دستور imshow ، نمایش می دهیم. سپس با دستور imresize ، سایز تصویر را به نصف کاهش می دهیم (ضریب برابر با 0.5 انتخاب شده می باشد). در پایان، تصویر حاصل شده (با نام image_new) را با دستور imshow نمایش داده ایم. دستور figure ، برای باز شدن یک پنجره مخصوص شکل جدید می باشد تا در انتها، هر دو تصویر را داشته باشیم.
تغییر سایز بر اساس تعداد ردیف ها و ستون های ماتریس اطلاعات تصویر ثانویه
می توانیم سایز تصویر ثانویه را بر اساس تعداد ردیف ها و تعداد ستون های ماتریس مربوط به آن، تعیین کنیم. برای این منظور، باید از دستور imresize ، به صورت imresize(image, [numrows numcols]) می باشداستفاده کنیم که در آن، پارامتر numrows برابر تعداد ردیف ها و پارامتر numcols برابر تعداد ستون های مورد نظر ما برای ماتریس مربوط به تصویر ثانویه می باشد. همان به عنوان مثال قبل را این بار با این روش می نویسیم
به عنوان مثال
برنامههای زیر را می نویسیم
clear all
close all
clc
image=imread(‘friend.jpg’);
imshow(image)
image_new=imresize(image,[200,80])
figure
imshow(image_new)
تعداد ستون ها را عمدا، کمتر از تعداد ردیف ها، انتخاب کرده ایم تا تصویر در جهت افقی، فشرده تر شود.