Artificial Intelligence - هوش مصنوعی

Artificial Intelligence - هوش مصنوعی (http://artificial.ir/intelligence/)
-   نرم افزار MATLAB (http://artificial.ir/intelligence/forum64.html)
-   -   فایل آموزش پردازش تصویر در متلب (http://artificial.ir/intelligence/thread346.html)

Astaraki ۰۶-۲۸-۱۳۸۸ ۰۳:۳۵ بعد از ظهر

فایل آموزش پردازش تصویر در متلب
 
1(ها)ضميمه
فایل آموزش پردازش تصویر در متلب

http://upload.wikimedia.org/wikipedia/en/2/24/Lenna.png

از سال 1964 تاكنون، موضوع پردازش تصوير، رشد فراواني كرده است. علاوه بر برنامه تحقيقات فضايي، اكنون از فنون پردازش تصوير، در موارد متعددي استفاده مي شود. گر چه اغلب اين مسائل با هم نامرتبط هستند، اما عموما نيازمند روش هايي هستند كه قادر به ارتقاي اطلاعات تصويري براي تعبير و تحليل انسان باشد. براي نمونه در پزشكي شيوه هاي رايانه اي Contrast تصوير را ارتقا مي دهند يا اين كه براي تعبير آسانتر تصاوير اشعه ايكس يا ساير تصاوير پزشكي، سطوح شدت روشنايي را با رنگ، رمز مي كنند. متخصصان جغرافيايي نيز از اين روش ها يا روش هاي مشابه براي مطالعه الگوهاي آلودگي هوا كه با تصوير برداري هوايي و ماهواره اي بدست آمده است، استفاده مي كنند. در باستان شناسي نيز روش هاي پردازش تصوير براي بازيابي عكس هاي مات شده اي كه تنها باقي مانده آثار هنري نادر هستند، مورد استفاده قرار مي گيرد. در فيزيك و زمينه هاي مرتبط، فنون رايانه اي بارها تصاوير آزمايش هاي مربوط به موضوعاتي نظير پلاسماهاي پرانرژي و تصاوير ريزبيني الكتروني را ارتقا داده اند. كاربردهاي موفق ديگري از پردازش تصوير را نيز مي توان در نجوم، زيست شناسي، پزشكي هسته اي، اجراي قانون، دفاع و صنعت بيان كرد.

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

pass:matlabsite.com

لینک دانلود (2.92 مگابایت)

f.ahmadi ۰۷-۲۰-۱۳۸۸ ۰۲:۳۴ بعد از ظهر

سلام
من در اين سايت عضو شده ام و مي خواستم از فايلهايي که گذاشتيد استفاده کنم يه سري فايل مربوط به پردازش تصوير دانلود کردم ولي براي extract کردن نياز به پسورد داره چه پسوردي را بايد وارد کنم؟؟

Astaraki ۰۷-۲۰-۱۳۸۸ ۰۲:۴۰ بعد از ظهر

پسورد: matlabsite.com
;)
موفق باشيد

Astaraki ۰۷-۲۹-۱۳۸۸ ۱۲:۱۷ بعد از ظهر

images processing using MATLAB
 
راهنمای جعبه ابزار پردازش تصویر Matlab

لينک دانلود:
كد:

http://www.4shared.com/get/106975688/c030820b/images_processing_using_MATLAB.html

Astaraki ۱۰-۱۷-۱۳۸۸ ۰۲:۱۵ بعد از ظهر

پردازش تصوير در matlab
 
1(ها)ضميمه
پردازش تصوير در matlab
:36::25:

khanbabaie ۰۱-۲۶-۱۳۹۰ ۰۱:۲۸ قبل از ظهر

بسیار سپاس گذارم

gonjeshk ۰۱-۲۶-۱۳۹۰ ۱۱:۳۳ قبل از ظهر

سلام
من فایل دانلود کردم باز نمیشه پسورد میخواد پسورد matlabsite.com رو هم وارد کردم ولی باز نمیشه

ayfer.a11 ۰۱-۲۶-۱۳۹۰ ۰۲:۱۰ بعد از ظهر

گام اول – آشنایی با Matlab و Image Processing Toolbox

همه با Matlab آشنا هستیم و حداقل میدانیم که چیز بدردخوری است. پس از صحبت دربارة این میگذریم. اما Image Processing Toolbox از امکانات جنبی این برنامه است. برای اینکه مطمئن شوید که این Toolbox روی Matlab شما نصب شده است؛ دستور ver را اجرا کنید. این دستور لیست هرچه که از Matlab روی رایانه شما نصب شده است را ارائه میدهد. بین Matlab 5.x و Matlab 6 برای کار پردازش تصویر تفاوت چندانی وجود ندارد اما مثل همیشه نسخة جدیدتر امکانات بیشتری دارد که البته فعلا با آنها کاری نداریم.
دستورهای معرفی شده: ver

اگر حوصلة موضوعات ابتدایی کار ندارید میتوانید از شمارة ۴ شروع به خواندن کنید. اما توصیه عملی این است که از اول شروع کنید چون این نوشته یک راهنمای قدم به قدم است. پس بهتر است پله ها را ۴ تا یکی نکنیم.

گام دوم – چگونه یک فایل تصویر را در Matlab باز کنیم
Matlab میتواند فایلهای گرافیکی با فرمتهای JPEG, TIFF, GIF, BMP, PNG, HDF, PCX, XWD, ICO, CUR را به عنوان فایل گرافیکی بخواند. مثلاً برای وارد کردن تصویری به نام cameraman.tif به فضای Matlab کافی است از دستور imread استفاده کنیم:

MyImage=imread(‘cameraman.tif’,'tif’);

توجه داشته باشید که فایلی که دستور خواندنش را میدهید باید برای برنامه قابل دسترس باشد. یعنی یا باید در مسیر (Path) Matlab باشد یا اینکه در پروندهای (folder) قرار داشته باشد که در حال حاضر برنامه به آن دسترسی دارد. برای اینکه بدانید که Matlab برای پیدا کردن فایلی که دستورش را دادید کجا را خواهد گشت اینکارها را بکنید: از دستور path برای اینکه بدانید کدام پروندهها جزء مسیر پیشفرض Matlab است و از دستور dir برای اینکه بدانید که Current Directory چیست؛ استفاده کنید.
خب تا اینجا یک فایل تصویر را در محیط Matlab وارد کردهایم. همانطور که میدانیم یک تصویر دیجیتال بر روی کامپیوتر در قالب یک ماتریس ذخیره میشود. پس MyImage مثل همه متغیرهای Matlab یک ماتریس است. برای اینکه بدانیم فایل خوانده شده از چه فرمتی است(سیاه سفید، یا Gray Scale یا رنگی ) مینویسیم:


imfinfo(‘cameraman.tif’)

این دستور را اجرا کنید و ببینید چه مینویسد… اما اگر بخواهید بدانید که ماتریس ذخیره شدة MyImage از چه نوعی است کافی است بنویسد: whos و لیست متغییرهای مقیم شده در حافظه و نوع و اندازه آنها را ببینید.
دستورهای معرفی شده: imread, imfinfo, whos, path, dir

گام سوم – چطور تصویر را ببینیم؟
خب حالا میخواهیم تصویر را که در یک ماتریس ذخیره شده است را ببنیم. بنویسید:

imshow(MyImage)

جالب است نه؟ فکر میکنید اگر بخواهیم دوتا تصویر را با هم ببنیم باید چکار کنیم؟ این را امتحان کنید:

YourImage=imread(‘tire.tif’,'tif’);

figure

subplot(1,2,1), imshow(MyImage), title(‘MyImage’)

subplot(1,2,2), imshow(YourImage), title(‘YourImage’)

با اجرای این دستورات به آن چیزی که اتفاق افتاد توجه کنید؛ حتما متوجه میشود که هرکدام از این دستورات چکار میکنند.
دستورهای معرفی شده: imshow, subplot, title, figure

گام چهارم – تصویر را خواندیم حالا چکار کنیم؟
کمی نویز دستوپا میکنیم و به تصویر اضافه میکنیم که بعداً راهی پیدا کنیم حذفش کنیم:

imagen=imnoise(MyImage,’salt & pepper’);imshow(imagen)

دستور imnoise نویزهای مختلفی را در اختیار ما میگذارد که به تصویر اضافه کنیم. افزودن نویز برای شبیه سازی اشکالاتی است که ممکن است به هر سیستم پردازش تصویر وارد شود. اینجا فرض کردهایم که نویز «نمک و فلفل» به تصویر اضافه شده است! اسمش عجیب غریب است؟ این نویز را روی تصویر تلویزیونتان اگر آنتن درست تنظیم نباشد حتما دیدهاید. میدانیم که وقتی نویز داریم با یک فیلتر حذفش میکنیم. فیلتری که انتخاب میکنیم باید مناسب نویزی باشید که روی تصویر سوار شده است. بهترین فیلتر برای نویز «نمک و فلفل» فیلتر میانه است که در Matlab با دستور Medfilt2 قابل استفاده است:

figureimagefilt=medfilt2(imagen);

imshow(imagefilt)

برای دستگرمی هم که شده سعی کنید تصویر نویز و تصویر فیلتر شده را در یک صفحة واحد نمایش دهید.
دوباره به تصویر MyImage نگاه کنید. فرض کنید میخواهیم مارک دوربین درون عکس را از روی شکل آن تشخیص دهیم. بازهم فرض کنید به روشی که بعدا بیشتر راجع بهش صحبت میکنیم فهمیدیم که دوربین درون این مختصات از تصویر قرار دارد. بین سطر ۵۹ تا ۸۴ و ستون ۱۳۱ تا ۱۷۰٫ پس از همین مختصات تصویر را با دستور imcrop میبریم.

imagecrop=Imcrop(MyImage,[ 131 59 39 25]);

در این دستور مختصات برش را اینطور مینویسم ] ارتفاع ,پهنا ,حداقل y ,حداقل x [. این قسمت بریده شده را نمایش بدهید و ببینید. در مرحله بعد سیستم تشخیصدهندة نوع دوربین احتیاج دارد که اندازه تصویر مقدار خاصی مثلاً ۱۲۰x100 باشد. پس باید اندازه تصویر برش داده شده را تغییر دهیم:

imagesz=imresize(imagecrop,[120 100]);

تصویر جدید را نگاه کنید. میبینید که به اندازه جدید در آمده است.
دستورهای معرفی شده: imnoise, medfilt2, imcrop, imresize

گام پنجم – کمی خلاقیت مهندسی!
یک فایل جدید باز میکنیم که عکسی از دانههای برنج است. میخواهیم دانههای برنج را درون عکس بشماریم. این عکس از قسمت برنج مرغوبِ خط تولید یک کارخانه است. شمارش دانههای برنج به کارخانه برنج سازی کمک میکند بداند چند درصد برنجهایش درجه یک هستند. این دستورات را اجرا کنید:

p=imread(‘rice.tif’);re=edge(p,’sobel’);

imshow(re);

re2=edge(p,’canny’);

figure, imshow(re2);

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

a. الگوریتمی پیدا کنید که تعداد برنجهای درون عکس را بشمارد.(راهنمایی: اگر بتوانید تعداد مسیرهای بستهی درون تصویر لبهها را بشمارید تقریباً همه برنجها را شمردهاید)

b. کشف کنید که روش Canny برای مشخص کردن لبه چه روشی است و چطور عمل میکند و چرا از روش سادة Sobel بهتر است.

برای بهتر شده نتیجه کار با روش Sobel بهتر است از عملگرهای ریختشناسی (morphological) استفاده کنیم. سعی میکنیم قسمتهای نزدیک به هم لبة هر برنج را به هم متصل کنیم. با این کار لبة برنجها را کامل میکنیم و خوردگیها را از بین میبریم. اما قبل از ادامه کار دستور close all را امتحان کنید. این دستور همه figure هایی که باز هستند را میبندد تا زیاد شلوغ نشود! حالا این دستورها را اجرا کنید:

figure, imshow(re);

re4=bwmorph(re,’close’);

re5=bwmorph(re4,’bridge’);

figure;

imshow(re5);

title(‘after morphological operations’);

آخرین تصویر لبهها را با تصویر اولیه لبهها که همان re است مقایسه کنید. میبینید که در متصل کردن قطعات پیشرفت خوبی داشتیم. اولین دستور bwmorph عمل Closing را روی تصویر انجام میدهد و دومین دستور عمل Bridge. برای اینکه بدانید هرکدام از این دستورات چکار میکنند از help bwmorph استفاده کنید.

برای اینکه بهتر کار با این دستورها را یاد بگیریم سری به Demoهای Matlab میزنیم. در صفحه Matlab بنویسید: demo و با اجرا کردن این دستور لیست demoهای مختلف ظاهر میشود. Image Processing Toolbox را انتخاب کنید. و در لیست کناری Edge Detection را انتخاب کنید. بقیه ماجرا با خودتان!

دستورهای معرفی شده:edge, bwmorph, demo

گام ششم – هیستوگرام تصویر:
تا به حال تصویرهای Gray Scale را بررسی کردیم. از این به بعد هم همین کار را میکنیم! با این تفاوت که اگر تصویر ورودی رنگی بود اول Gray Scaleاش میکنیم و بعد کارها را ادامه می دهیم.تصویر flowers.tif را با دستور imread در ماتریس flowers ذخیره کنید. از دستور rgb2gray برای تبدیل فرمت رنگی تصویر به Gray Scale استفاده کنید. حالا هیستوگرام تصویر را رسم کنید. بعد یکی از قلههای نمودار هیستوگرام را انتخاب کنیدکه بین دوتا دره باشد. کاری کنید که فقط این قله درون هیستوگرام باقی بماند. بعد با دستور im2bw تصویر را از Gray Scale به سیاه سفید تبدیل کنید و نتایج را مقایسه کنید!چطور شد؟ توضیح میدهم، اینطوری:

flowers=imread(‘flowers.tif’,'tif’);flowersg ray=rgb2gray(flowers);

imhist(flowersgray)

من هیستوگرام را نگاه کردم و شما هم نگاه کنید. (هیستوگرام تصویر را بادستور imhist کشیدم) قلة بین ۵۰ و ۱۰۰ را انتخاب میکنم. حالا یک ماتریس جدید میسازم طوری که فقط جاهایی که مقدار ماتریس flowersgray در محدودة ۵۰ تا ۱۰۰ است، در ماتریس جدید ۰ باشد و باقی جاها ۱ باشد.(یعنی یک ماتریس باینری یا سیاه سفید):

f=ones(size(flowersgray));

f(find(flowersgray>50&flowersgray<100))=0;

imshow(f);

دستورهای بالا به این معنی است: ماتریس f را هماندازه ماتریس flowersgray بساز. همة درایههایش را یک بگذار. بعد دستور find درون ماتریس flowersgray جستجو میکند و شماره درایههایی از ماتریس flowersgray را به من میدهد که در شرط روبهرو برایش مشخص شده. (همان محدودة ۵۰ تا ۱۰۰). این درایههای بخصوص را در ماتریس f از ۱ به ۰ تبدیل میشود. نتیجه را باهم ببینیم!

اگر دقت کنیم میبینیم که مجموعة گلدون از پس زمینه جدا شد. آنهم تنها با انتخاب یک قله درون هیستوگرام… حالا من از کجا فهمیدم که این قله مهم است؟… لابد علم غیب داشتم؟… بعدا راجع به انتخاب قلهها بیشتر خواهیم فهمید.

حالا دستور im2bw را – که تصویر را سیاه سفید میکند – امتحان کنید.

bwflowers=im2bw(flowersgray,gray);

imshow(bwflowers)

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

دستورات معرفی شده: rgb2gray, imhist, ones, find
------------------------------
البته به نظر من برای یادگیری قسمت help نرم افزار matlab جامع و کامل هستش.

ayfer.a11 ۰۲-۱-۱۳۹۰ ۰۹:۱۶ قبل از ظهر

انواع تصاویر (Image Types)
جعبه ابزار پردازش تصویر چهار نوع تصویر را پشتیبانی میکند:
• Intensity Image
• Binary Images
• Indexed Images
• RGB Images
پردازشهای سیاه و سفید اغلب روی تصاویر Binary و Intensity صورت می گیردو تاکید بیشتری روی این نوع تصاویر خواهیم داشت . با انتخاب یک آستانه ، میتوان تصاویر Intensity را به Binary تبدیل کرد.
تصاویر RGB و Indexed در بحث پردازش تصاویر رنگی استفاده می گردند.
اگر A یک آرایه عددی شامل 0 و 1 باشد ، با دستور زیر این :آرایه به یک آرایه منطقی تبدیل میشود.
B= logical(A)
اگرA شامل مولفه هایی غیر از 0 و 1 باشد تابع فوق مقادیر غیر صفر را به 1 و مقادیر 0 را به 0 منطقی تبدیل میکند.
برای بررسی اینکه آیا یک آرایه است یا نه ، از تابع زیر استفاده میشود :
islogical(B)
اگر B منطقی باشد تابع مقدار 1 و در غیر اینصورت مقدار صفر را برمی گرداند.
یک تصویر با کلاس داده (Data class) و نوع تصویر (Image type) مشخص میگردد:
uint8 intensity image
بعضی توابع در جعبه ابزار ، از تمام کلاس داده ها پشتیبانی میکنند. ولی برخی از آنها فقط از کلاس خاصی پشتیبانی میکنند. به طور مثال ، پیکسلهای یک تصویر باینری فقط می توانند از نوع logical باشند.

تبدیلات کلاس داده ها
فرمت کلی برای تبدیل کلاس دده ها به صورت زیر است :
B=data_class_name(A)
به طور مثال اگرA از نوع uint8 باشد ، دستور زیر آنرا به نوع double تغییر می دهد:
B=double(A).

تابع فوق بسیار متداول است ، چرا که Matlab انتظار دارد عملوندها در محاسبات عددی از نوع double باشند.
اگر C یک متغیر از نوع double باشد دستور زیر آنرا به uint8 تبدیل میکند:
D=uint8(C)
از آنجاییکه محدوده uint8 برابر [0,255] است دستور فوق برای مقادیر کوچکتر از 0 مقدار صفر و برای مقادیر بزرگتر از 255 مقدار 255 قرار می دهد. بنابراین تغییر مقیاس مناسب (proper scaling) قبل از عمل تبدیل ضروری است.


عملگرها (Operators)
عملگرهای Matlab به سه دسته تقسیم می شوند:
• عملگر های محاسباتی (Arithmetic operators)
• عملگرهای رابطه ای (Relational operators)
• عملگرهای منطقی (Logical operators)


عملگرهای محاسباتی


در جعبه ابزار پردازش تصویر ، دستوراتی برای انجام عملیات محاسباتی روی تصاویر وجود دارد. مانند : imadd, imsubtract, immultiply, imdivide
EXAMPLE :

I= imread('rice.png');
J= imread('cameraman.tif');
K= imadd(I,J,'uint16');
figure(1);imshow(I,[])
figure(2);imshow(J,[])
figure(3);imshow(K,[])

عملگرهای رابطه ای
این عملگرها برای مقایسه مولفه های دوماتریس می توانند ا ستفاده شوندو عبارتند از : > ، >= ، < ، <= ، = = ، =~ .



عملگرهای منطقی
AND : با فرمت and(A,B) یا A&B
ماتریسی با ابعاد ورودی ومولفه ها 0 و 1 تتولید میکند. اگر مقدار مولفه ها غیر صفر باشد در محل مولفه مقدار یک و در غیر این صورت صفر قرار می دهد.
OR : با فرمت or(A,B) یا A|B
ماتریسی با ابعاد ورودی و مولفه های 1 و 0 تولید میکند. اگر حداقل یک مولفه غیر صفر باشد در محل مولفه مقدار یک و در غیر این صورت صفر قرار می دهد .
NOT : با فرمت not(A) یا ~A
ماتریسی با ابعاد ورودی تولید می کند که مولفه های صفر ماتریس ورودی را با یک و مولفه های غیر صفر را با صفر پر می کند.
XOR : با فرمت xor(A,B)
اگر هر دو مولفه صفر یا غیرصفر باشند مقدار صفتر و اگ ر یکی صفر و دیگری غیرصفر باشد مقدار یک بر میگرداند.

تابع all : اگر تمام مولفه های بردار غیرصفر باشند مقدار یک و در غیر اینصورت مقدار صفر بر میگرداند.
تابع any : اگر تمام مولفه های یک بردار صفر باشند مقدار صفر و در غیر این صورت یک بر میگرداند.
این دو تابع برای ماتریس به صورت ستونی عمل می کنند(بردارهای ستونی ) .

ayfer.a11 ۰۲-۳-۱۳۹۰ ۰۹:۵۵ بعد از ظهر

هیستوگرام تصویر

تبدیلات شدت روشنایی مبتنی بر هیستوگرام تصویر در مواردی مانند بهبود تصویر(Enhancement) ، فشرده سازی (Compression)، بخش بندی (Segmentation) و توصیف تصویر (Description) کاربردهای زیادی دارد.
هیستوگرام تصویر دیجیتالی با L سطح شدت روشنایی در محدوده[0,g] با تابع گسسته زیر تعریف میشود:
که rk برابر k امین سطح روشنایی در محدوده [0 ,g] و nk برابر تعداد پیکسلهایی در تصویر است که شدت روشنایی آنها برابر nk است.
كد:

H (rk) = nk
برای یک تصویر در کلاس uint8 ، L=256 ، G=L-1=255 معادل سطح روشنایی0 ( اندیس از صفر شروع نمیشود) و R256 متناظر با سطح روشنایی 256 است.
اغلب استفاده از هیستوگرام نرمالیزه مفید خواهد بود که با تقسیم hk بر تعداد کل پیکسلهای تصویر (n) به دست می آید.

كد:

p(r_k )= (h(r_k))/n= n_k/n
این تابع در واقع احتمال قوع هر سطح شدت روشنایی رادر تصویر نشان میدهد.
تابع imhist برای نمایش هیستوگرام تصویر با فرمت زیر استفاده می شود:
کد:
كد:

h=imhist(f,b)
bتقسیم بازه شدت روشنایی را تعیین میکند. برای کلاس uint8 اگر b=2 باشد پیکسلهای بازه [0 127] و [128 255] در نظر گرفته میشوند. اگر b در تابع آورده نشود پیش فرض آن 256 است .


هیستوگرام نرمالیزه با رابطه زیر به دست می آید:
کد:
كد:

p=imhist(f,b)/numel(f)
تابع numel تعداد پیکسلهای تصویر (تعداد مولفه های ماتریس ) را مشخص می کند.
ساده ترین روش برای رسم هیستوگرام به صورت زیر است:

کد:
كد:

>>imhist(f)
روشهای دیگری نیز برای نمایش هیستوگرام وجود دارد.
کد:
كد:

f= imread('rice.png');
h=imhist(f);
figure(1);imhist(f)
figure(2);bar(h)


ف.یلتر کردن مکانی (Spatial Filtering)

ف.یلتر کردن مکانی یا پردازش همسایگی (neighborhood processing) شامل مراحل زیر است:
1. تعریف همسایگی به مرکز نقطه (x,y)
2. اعمال یک اپراتتور به پیکسلهای محصور در همسایگی نقطه (x,y)
3. در نظر گرفتن نتیجه اپراتور به عنوان پاسخ در نقطه (x,y)
4. تکرار پردازش برای تمام نقاط تصویر
اگر محاسبات انجام شده برای نقاط همسایگی خطی باشد، این عملیات را ف.یلتر کردن مکانی خطی (Linear spatial filtering) یا کانولوشن مکانی (spatial convolution) نامیده میشود. در غیر این صورت ف.یلتر کردن مکانی غیر خطی (Non-Linear spatial filtering) نامیده میشود.
-------------------------------------------

ayfer.a11 ۰۲-۴-۱۳۹۰ ۰۹:۳۱ بعد از ظهر

کانولوشن وهمبستگی دوبعدی

محاسبه همبستگی و کانولوشن در Matlab با تابع imfilter انجام می گیرد.

كد:

g= imfilter(f, w, filtering_mode, boundary_options, size_options)
f تصویر ورودی ، w فیلتر و g تصویر خروجی است.



كد:

f= imread('cameraman.tif');
w=zeros(31);
w(16,16)=1;
g1=imfilter(f,w,'corr','replicate','full');
g2=imfilter(f,w,'corr','symmetric','full');
g3=imfilter(f,w,'corr','circular','full');
figure(1);imshow(g1,[])
figure(2);imshow(g2,[])
figure(3);imshow(g3,[])

اگر تمام عناصر فیلتر یک باشند، فیلتر عمل میانگین گیری انجام می دهد که میتواند برای حذف نویز استفاده گردد. این عمل باعث تار شدن (blurring) تصویر می گردد.



كد:

f= imread('cameraman.tif');
fn=imnoise(f,'gaussian');
w=ones(3)/9;
g=imfilter(fn,w);
subplot(2,2,1);imshow(f);title('Original Image');
subplot(2,2,2);imshow(fn);title('Noisy Image');
subplot(2,2,3);imshow(g);title(‘Smoothing Image');

در محیط Matlab می توان ماسک تعدادی از فیلترهای خطی از پیش تعریف شده را با دستور fspecialبه دست آورد:
کد:
كد:

W=fspecial(‘type’,parameters)
که type نوع فیلتر و parameters مشخصات فیلتر را تعیین میکنند.
انواع فیلترهای قابل تعریف در تابع فوق عبارتند از:

كد:

average' averaging filter
'disk' circular averaging filter
'gaussian' Gaussian lowpass filter
'laplacian' filter approximating the 2-D Laplacian operator
'log' Laplacian of Gaussian filter
'motion' motion filter
'prewitt' Prewitt horizontal edge-emphasizing filter
'sobel' Sobel horizontal edge-emphasizing filter
'unsharp' unsharp contrast enhancement filter


amirno ۰۲-۱۶-۱۳۹۰ ۰۹:۰۲ قبل از ظهر

سایت برای آموزش توابع متلب
Matlab Lecture 10
http://www.aquaphoenix.com/lecture

monir8 ۰۲-۱۶-۱۳۹۰ ۰۵:۳۵ بعد از ظهر

سلام
برنامه شناسایی اشکال در تصویر در برنامه متلب را می خواهم
خواهش می کنم برایم بفرستید

8818307018 ۰۵-۲۵-۱۳۹۰ ۰۹:۵۸ قبل از ظهر

با سلام و خسته نباشيد
من براي پروژه پايانيم به يك مطلب برخوردم كه معني آن را نمي فهمم.اگه ممكنه مرا ياري كنيد.عين جمله زير را دارم براي پياده سازي اگه ميشه بگيد پياده سازيش چطوريه؟
ممنون از لطفتون
تعیین درجه لبه μmn'در موقعیت(m,n)
ساده ترین راه برای تعیین آشکارساز لبه فازی،تعیین تابع عضویت مناسبμmn' برای هرپیکسلxmn درموقعیت(m,n)با مجاورت یک پنجره موقتی W×W W(m,n) را در پنجره W×W بگذارید،به طوری که xmn در مرکز پیکسل باشد.
مکمل فازی را استفاده کنید.

ayfer.a11 ۰۹-۹-۱۳۹۰ ۱۰:۰۱ قبل از ظهر

نقل قول:

نوشته اصلي بوسيله samaneh1390 (پست 21550)
سلام .من یه سوال خیلی فوری داشتم.
من با وارد کردن تصویر تو متلب مشکل دارم ممکنه راهنماییم کنین؟
من توی مسیرهایی که توسط path مشاهده کردم عکس مورد نظرک را گذاشتم و دستور را در متلب به صورت ;('a=imread('YAZD.JPEG','JPEG
ولی خطای Error using ==> imread at 414
File "YAZD.JPEG" does not exist.
میده:17::77:

سلام دوست عزیز
دستوری که شما نوشتین اشتباه هست. مثلا من تو درایو F یه تصویربه نام image دارم اون رو با دستور زیر تو متلب فراخوانی میکنم.

كد:

pic=imread('F:\images.jpg');
اگه بازم مشکلی بود بگین.

masoud_90 ۰۹-۹-۱۳۹۰ ۱۰:۴۹ قبل از ظهر

با عرض سلام به دوستان
یک سوال دارم.چطوری می تونم یه آرایه از عکس ها داشته باشم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
ممنون میشم کسی کمک کنه باتشکر

ayfer.a11 ۰۹-۹-۱۳۹۰ ۰۹:۱۹ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله samaneh1390 (پست 21562)
سلام.ممنون.از خدا بهترین چیزها را به خاطر راهنماییتون براتون میخوام.
من میخوام روش متعادل سازی هیستوگرام را در نرم افزار matlab پیاده سازی کنم و سپس تصویر داده شده را به عنوان ورودی به تابع پیاده سازی شده بدهم. میشه راهنماییم کنین.
باید از دستور histeq استفاده کنم؟

سلام، خواهش میکنم.
بله برای متعادل سازی هیستوگرام که یکی از روش های بهبود کیفیت تصویر می باشد از تابع histeq استفاده میکنند.

ayfer.a11 ۰۹-۹-۱۳۹۰ ۰۹:۲۱ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله masoud_90 (پست 21563)
با عرض سلام به دوستان
یک سوال دارم.چطوری می تونم یه آرایه از عکس ها داشته باشم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
ممنون میشم کسی کمک کنه باتشکر

سلام
میشه بیشتر توضیح بدین چی میخواین؟

SHANTIYA ۰۱-۱۱-۱۳۹۱ ۱۲:۱۹ بعد از ظهر

سلام پسورد فایلاتون رو نمیتونم پیدا کنم

hassanpour_201 ۰۱-۱۶-۱۳۹۱ ۰۶:۵۱ بعد از ظهر

ممنون عالی بود

elenaaaaa ۰۲-۲۰-۱۳۹۳ ۰۹:۲۰ قبل از ظهر

عالی بود

تشکر

aboyarmin ۰۷-۲۳-۱۳۹۳ ۰۹:۲۸ بعد از ظهر

سلام
 
سلام دوستان اگه میشه در مود نحوه آموزش(train) و پرسبترون و تبدیل هاف در متلب رو دارید . قرار دهید ممنون میشم . در عوض خیلی دعاتون میکنم:1:

sama.A ۱۰-۱۸-۱۳۹۳ ۰۴:۲۶ بعد از ظهر

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


زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۹:۱۴ بعد از ظهر ميباشد.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.