loading...

انجام پروژه متلب

      مطالب به سایت خانه متلب انتقال پیدا کرده است .بر روی لینک های زیر کلیک نمایید: آموزش رایگان متلب

 

 

 


مطالب به سایت خانه متلب انتقال پیدا کرده است .بر روی لینک های زیر کلیک نمایید:

يک فايل جديد باز مي‌کنيم که عکسي از دانه‌هاي برنج است. مي‌خواهيم دانه‌هاي برنج را درون عکس بشماريم. اين عکس از قسمت برنج مرغوبِ خط توليد يک کارخانه است. شمارش دانه‌هاي برنج به کارخانه برنج سازي کمک مي‌کند بداند چند درصد برنج‌هايش درجه يک هستند. اين دستورات را اجرا کنيد:

 

p=imread('rice.tif');

re=edge(p,'sobel');

imshow(re)

re2=edge(p,'canny');

figure, imshow(re2)

 

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

 

 

 

  • الگوريتمي پيدا کنيد که تعداد برنج‌هاي درون عکس را بشمارد.‌(راهنمايي: اگر بتوانيد تعداد مسيرهاي بسته‌ی درون تصوير لبه‌ها را بشماريد تقريباً همه برنج‌ها را شمرده‌ايد)
  • کشف کنيد که روش 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');

flowersgray=rgb2gray(flowers);

imhist(flowersgray)

من هيستوگرام را نگاه کردم و شما هم نگاه کنيد. (هيستوگرام تصوير را بادستور imhist کشيدم) قلة بين 50 و 100 را انتخاب مي‌کنم. حالا يک ماتريس جديد مي‌سازم طوري که فقط جاهايي که مقدار ماتريس flowersgray  در محدودة 50 تا 100 است، در ماتريس جديد 0 باشد و باقي جاها 1 باشد.

(يعني يک ماتريس باينري يا سياه سفيد)

 

f=ones(size(flowersgray));

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

imshow(f)

 

دستورهاي بالا به اين معني است: ماتريس f را هم‌اندازه ماتريس flowersgray بساز. همة درايه‌هايش را يک بگذار. بعد دستور find درون ماتريس flowersgray جستجو مي‌کند و شماره درايه‌هايي از ماتريس flowersgray را به من مي‌دهد که در شرط روبه‌رو برايش مشخص شده. (همان محدودة 50 تا 100). اين درايه‌هاي بخصوص را در ماتريس f از 1 به 0 تبديل مي‌شود. نتيجه را باهم ببينيم!

 

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

 

حالا دستور  im2bw را - که تصوير را سياه سفيد مي‌کند -  امتحان کنيد.

bwflowers=im2bw(flowersgray,gray);

imshow(bwflowers)

دستور im2bw حدي تعيين مي‌کند و درايه‌هايي که از آن حد کمتر باشند را صفر و آنهايي که بيشتر هستند را يک مي‌کند. آيا متوجه تفاوت دو روش شده‌ايد؟ اگر به جاي گلدون در تصوير مورد نظر، عکس پرسنلي افراد بود چه اشکالي در روش im2bw وجود داشت؟

 

دستورات معرفي شده: rgb2gray, imhist, ones, find

 

اگر ما روبات بوديم...

خب فرض کنيد برنامه‌اي براي يک روبات مي‌نويسيد که با استفاده از يک دوربين به يک بازوي دقيق فرمان مي‌دهد که سکه‌هاي «اسکروچ» را بردارد و روي هم قرار دهد. براي اينکار لازم است محل دقيق سکه‌ها را تشخيص دهيم تا فرمان مناسب براي بازو صادر شود. برنامة زير اين کار را انجام مي‌دهد. دقت کنيد ببينيد که چطور اينکار را انجام مي‌دهد:

 

coins = imread('eight.tif');

BW=~im2bw(coins,.75);

imshow(BW)

L = bwlabel(BW);

stats = imfeature(L,'Centroid');

stats(7)

 

خروجي همان متغيير stats است. اين متغيير 7 عنصر دارد. درحالي که 4 سکه بيشتر درون تصوير وجود ندارد! اشکال از کجاست؟.... راه حلي هم براي اين به ذهنتان مي‌رسد؟

 

دستورهاي معرفي شده: bwlabel, imfeature

با اينترنت ياد بگيريم:

به آدرس www.ph.tn.tudelft.nl/hpise/index.html مراجعه کنيد و در کلاس آنلاينِ مجاني‌اش ثبت‌نام کنيد. من آنجا به اسم raminia عضو هستم. خيلي جالب است! حتما امتحانش کنيد.

 

 

 

 

 

مابقی مطالب در ادامه مطلب

براي نمايش ادامه اين مطلب بايد عضو شويد !
نام کاربری :
رمز عبور :
تکرار رمز :
موبایل :
ایمیل :
نام اصلی :
کد امنیتی :
 
کد امنیتی
 
بارگزاری مجدد

اگر قبلا ثبت نام کرديد ميتوانيد از فرم زير وارد شويد و مطلب رو مشاهده نماييد !
انجام پروژه بازدید : 2945 چهارشنبه 22 آبان 1392 زمان : 15:39 نظرات (0)
ارسال نظر برای این مطلب

کد امنیتی رفرش
درباره ما
Profile Pic
. سفارش انجام پروژه متلب|پایان نامه ارشد و دکتری|دانلود رایگان فیلم کد متلب انجام پروژه های دانشجویی شبکه عصبی داده کاوی شبیه سازی کامپیوتری توالی عملیات و زمان بندی مدل سازی انجام پروپزال پایان نامه ارشد دکتری مهندسی صنایع مدیریت مهندسی برق و...
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • موضوعات

  • انجام پروژه متلب انجام پروژه matlab سفارش پروژه های دانشجویی برنامه نویسی کدنویسی مهندسی صنایع برق الکترونیک
  • آموزش جامع متلب
  • دانلود رایگان فیلم های آموزشی
  • دانلود رایگان فایل های آموزشی
  • دانلود رایگان کد های آماده متلب
  • دوره های آموزشی و تدریس خصوصی
  • دانلود رایگان نرم افزار + آموزش
  • آمار سایت
  • کل مطالب : 2400
  • کل نظرات : 284
  • افراد آنلاین : 2
  • تعداد اعضا : 24606
  • آی پی امروز : 105
  • آی پی دیروز : 87
  • بازدید امروز : 2,429
  • باردید دیروز : 849
  • گوگل امروز : 12
  • گوگل دیروز : 13
  • بازدید هفته : 4,168
  • بازدید ماه : 6,716
  • بازدید سال : 38,246
  • بازدید کلی : 5,905,751