matlabkhooneh

تکالیف پردازش تصویر - برش تصویر ( کد Mat0020 )

1 - یک تصویر خاکستری را در ماتریسی در متلب MATLAB بخوانید، ابعاد آن را مشخص کرده و به کاربر اطلاع دهید که تصویر دارای چه ابعادی است و با دستور input از او بخواهید که بگوید به چه ابعاد کوچکتری بریده شود. کاربر ابعاد مورد نظر را وارد کند. اگر ابعاد ورودی کمتر از ابعاد اصلی تصویر بود، تصویر را به آن ابعاد بریده و نمایش دهد. وگرنه، به کاربر پیام خطا در وارد کردن ابعاد داده و مجدد از او ابعاد جدید بخواهد.

2 -  کدهای لازم برای بدست آوردن بردار هیستوگرام یک تصویر را در OpenCV نوشته و توضیح دهید.

3 - تابعی برای نمایش نمودار هیستوگرام را در OpenCV بنویسید و در مورد خط به خط آن توضیح دهید.

4 - تابع rectangle در OpenCV چکار میکند؟ در مورد آرگومانهای ورودی آن توضیح دهید

5 - در OpenCV چگونه میتوان با یک خط کد تصویری با رنگ سفید تولید کرد؟

6 - در OpenCV چگونه میتوان با یک خط کد تصویری با رنگ سیاه تولید نمود؟

7 - عملگرهای موفولوژی چه هستند و هر یک چه کاری انجام میدهند؟

8 - Erosion چیست؟ و الگوریتم آن چگونه عمل میکند؟ بطور کامل توضیح دهید. کاربرد آن چیست؟

9 - Dilation چیست؟ و الگوریتم آن چگونه عمل میکند؟ بطور کامل توضیح دهید. کاربرد آن چیست؟

10 - عملگر opening چیست؟ الگوریتم آن چگونه عمل میکند؟ کاربردهای آن چیست؟ با ذکر مثال و توضیح آن.

11 - عملگر closing چیست؟ الگوریتم آن چگونه عمل میکند؟ کاربردهای آن چیست؟ با ذکر مثال و توضیح آن.

12 - در مورد Erosion در حالت یک بعدی توضیح دهید؟ پنجره دو بعدی آن به چه صورت است؟

13 - در مورد dilation در حالت یک بعدی توضیح دهید؟ پنجره دو بعدی آن به چه صورت است؟

14 - دستورات متلب برای dilation را بنویسید و بیان کنید که آرگومانهای آن چیست ؟ دستور ایجاد پنجره را با ذکر مثال بنویسید.

15 - دستورات متلب برای erosion را بنویسید و بیان کنید که آرگومانهای آن چیست؟ پنجره را برای اید دستور چگونه میتوان درست نمود؟

16 - پیکسل لنگری در سایش و گسترش چه هست؟

17 - دستور برای سایش در OpenCV چیست؟ توضیح دهید که هر کدام از آرگومانهای آن چه هستند؟

18 - -دستور برای گسترش در OpenCV چیست؟ توضیح دهید که هر کدام از آرگومانهای آن چه هستند؟

19 - دستور برای opening در OpenCV چیست؟ چه کاربردی دارد؟

20 - دستور برای closing در OpenCV چیست؟ چه کاربردی دارد؟

21 - فیلتر Hat Top چه کاری انجام میدهد؟ و چگونه میتوان آن را پیاده سازی کرد؟

22 - فیلتر Hat Black چه کاری انجام میدهد؟ و چگونه میتوان آن را پیاده سازی کرد؟

23 - چطور میتوانیم یک تصویر را در متلب و در OpenCV تبدیل به باینری کنیم؟

24 - دستور آستانه گذاری در OpenCV چیست؟ چگونه استفاده میشود؟ کاربرد آن چیست؟

25 - برای ایجاد یک کرنل )پنجره( برای عمل سایش و گسترش در OpenCV با ذکر مثال و توضیح بیان کنید از چه دستوراتی میتوانیم استفاده نماییم

26 - ویدیو چیست؟ توضیح دهید. rate Frame چیست؟

27 - در OpenCV چگونه میتوانیم فریم های یک ویدیو را خواند؟ کدهای مربوطه را بنویسید.

28 - در OpenCV از کجا بفهمیم )از چه دستوری میتوانیم استفاده کنیم( فایلی که میخواسته ایم باز کنیم درست باز شده است یا خیر؟

29 - متد get در OpenCV برای پردازش ویدیو چیست و چگونه میتوان از آن استفاده کرد؟ کاربرد آن چیست؟

30 - متد set در OpenCV برای پردازش ویدیو چیست و چگونه میتوان از آن استفاده کرد؟ کاربرد آن چیست؟

31 - برنامه ای در OpenCV بنویسید که یک ویدیو را خوانده و آن را نمایش دهد. خط به خط برنامه را به طور کامل توضیح دهید.

32 - برنامه ای در OpenCV بنویسید که دوربین لپ تاپ )وب کم( را خوانده و آن را نمایش دهد. برخط به خط برنامه را به طور کامل توضیح دهید.

33 - برنامه ای در OpenCV بنویسید که یک ویدیو را خوانده، سایز آن را 3 برابر کرده و آن را نمایش دهد. خط به خط برنامه را به طور کامل توضیح دهید

34 - برنامه ای در OpenCV بنویسید که یک ویدیو را خوانده، لبه های تصویر را استخراج کرده و آن را نمایش دهد. خط به خط برنامه را به طور کامل توضیح دهید

35 - برنامه ای بنویسید که در آن بعد از فراخوانی تصویر ( هم تصاویر خاکستری و هم رنگی ) نتیجه اعمال فیلترهای میانه ، میانگین ( هم ساده و هم وزن دار ) و فیلتر گوسی را نمایش دهد. کد باید به صورتی باشد که کاربر بتواند ابعاد نقاب mask را انتخاب کند.

36 - برنامه های زیر را بنویسید.

الف ) انتقال لگاریتمی و تابع گاما

ب ) محاسبه هیستوگرام

ج ) روش متعادل سازی هیستوگرام و تناظریابی هیستوگرام

37 - برنامه ای بنویسید که بدون استفاده از دستور rgb2gray یک تصویر رنگی را به تصویر gray scale تیدیل کند.

38 - برنامه ای بنویسید که یک تصویر را بخواند و با استفاده از همسایگی افقی - عموذی و قطری فیلتر میانگین را پیاده سازی کنید.

39 - تبدیل تصاویر سطح خاکستری به تک رنگ Dithering

Dithering به مفهوم جایگزینی ارزش های  0 تا 255 مربوط به تصاویر خاکستری، با الگوهایی است که در چاپگرهای 1 بیتی ( سیاه و سفید ) قابل چاپ باشند به طوری که سطوح خاکستری با استفاده ازاین الگو صفر و یک، به صورت خاکستری به نظر برسند. Dithering موجب فشرده سازی تصویر خواهد شد. فشرده سازی تصویر فرآیندی است که حجم تصویر کاهش می یابد اما کیفیت تصویر دست خوش تغییرات زیاد قرار نمی گیرد. الگوریتم Dithering را در متلب Matlab پیتده سازی کنید.

40 - الف ) چند عکس خیلی تاریک یا خیلی روشن پیدا کنید. در صورت لزوم از تابع rgb2gray برای تبدیل یک تصویر رنگی به یک تصویر در مقیاس خاکستری استفاده کنید.

ب ) تابعی بنویسید که با استفاده از مقدار تعیین شده gamma ، تصویر مشخص شده را روشن ( یا تیره ) کند. تابع باید هم ماتریس تصویر و هممقدار gamma را به عنوان ورودی بپذیرد. این تابع بایستی در حالت ایده آل با هر تصویر خاکستری مقیاس و با هر تصویر رنگی کار کند. ( برای تنظیمات حالت رنگی ، تصویر باید به فضای رنگی YCbCr تبدیل شود و تبدیل باید در کانال Y اعمال شود. )

ج) برنامه ای بنویسید که

- یک تصویر دلخواه در محیط MATLAB وارد کند.

- تصویر اصلی و هیستوگرام آن را رسم کند.

- تابعی را که در قسمت ب ایجاد کردید فراخوانی کند تا تصویر اصلی ، روشن ( یا تیره ) شود. مقدار مختلف gamma را آزمایش کنید و سعی کنید مقدار بهینه راپیدا کنید.

- نسخه بهبود یافته تصویر را همراه با هیستوگرام آن نمایش دهد.

41 - الف ) یکی دیگر از دسته های معروف توابع ، کلاس توابع نمایی است. در شکل زیر ، نمونه ای از نمودارهای توابع نمایی را با پایه های مثبت مختلف قابل مشاهده می باشد، به علاوه می توانیم تاثیر پایه را بر شکل نمودار نیز بررسی کنیم.

بر خلاف نمودارهای توابع توان، نمودارهای توابع لگاریتمی از مبدا و نقطه (1,1) عبور نمی کنند. چه راهکاری برای حل این مشکل می توان اراده کرد؟

ب ) به نظر شما این توابع، می توانند در بهبود کیفیت کدام دسته از تصاویر به کار روند؟ چگونه؟

ج ) یک تابع بنویسید که ویژگی های پنهان تصویر مشخص شده را با استفاده از تبدیل لگاریتمی با مقدار مشخص شده پایه b نشان دهد. تابع شما باید تصویر و پایه را به عنوان ورودی بپذیرد. در حالت ایده آل، عملکرد شما باید با هر تصویر خاکستری و یا هر تصویر رنگی کار کند. در حالت دوم باید به فضای رنگی YCbCr تبدیل شود و تبدیل باید به کانال Y اعمال شود.

تابعی بنویسید که کارهای زیر را انجام دهد.

- یک تصویر را به محیط محاسباتی MATLAB وارد کنید.

- تصویر اصلی و هیستوگرام آن را نمایش دهد.

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

ه ) تصویر بهبود یافته را همراه با هیستوگرام آن نمایش دهید.

42 - تابعی بنویسید که دو کاربر نام دو تصویر را وارد نماید، سپس تصویر حاصل از ترکیب دو تصویر را همراه با دو تصویر دیگر نمایش دهد.

43 - تابعی بنویسید که نگاتیو تصویر مشخص شده ( مقیاس خاکستری یا رنگی ) را ایجاد کند. با تصاویر رنگی، تابع شما باید نگاتیو هر کانال را جداگانه محاسبه کند. عملکرد خود را با مجموعه ای از تصاویر انتخابی خود آزمایش کنید.

44 - سه تابع بنویسید که قسمت های زیر از تصویر مشخص شده را استخراج کند. ( در حالی که بقیه تصویر را ماسک می کند.

الف ) نیمه عمودی وسط

ب ) نیمه افقی وسط

ج ) قسمت مستطیل وسط

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

45 - توابع مشابه را برای انتخاب مناطق دیگر ( مثلا یک سوم افقی میانی ، نیمه بالایی ، یک چهارم عمودی چپ و غیره ) تصویر مشخص شده با ضرب در یک ماتریس مناسب بنویسید.

46 - برنامه ای بنویسید که کارهای زیر را انجام دهد.

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

ب ) از کاربر بخواهد تا نوع ماسک مورد نظر را مشخص کند ( افقی ، عمودی ، حاشیه ای )

ج ) از توابعی که در تمرین 5 ایجاد کردید برای ایجاد ماسک مورد نظر استفاده کنید.

47 - برنامه ای بنویسید که ظاهری شبیه با تصویر زیر داشته باشد تا بتواندموارد خواسته شده را بر روی تصویر اعمال کند.

- دکمه ای جهت بازکردن تصویر ( فرمت Jpg , Bmp , Gif , Tiff )

- یک listbox جهت انتخاب شیوه نمایش تصویر ، این لیست باکس همانطور که در تصویر بالا نشان داده شده است باید دارای گزینه های RGB, R , G , B , B&W , Graysclae باشد. با انتخاب تصویر باید این تغییرات روی تصویر اعمال شود.

- یک Radio  Button Group برای انتخاب نوع فیلتر مورد نظر برای اعمال بر روی تصویر که شامل موارد زیر باشد.

* اعمال حد آستانه

* اعمال فیلتر منفی

* اعمال فیلتر میانگین

* اعمال فیلتر استخراج لبه

* قرینه کردن افقی تصویر

* قرینه کردن قائم تصویر

* اعمال فیلتر 3*3 مورد نظر کاربر که مقادیر آن در editbox های زیر آن وراد شده است.

* نمایش هیستوگرام تصویر

- یک دکمه برای اعمال تغییرات مورد نظر

- یک دکمه جهت ذخیره کردن تصویر با یکی از فرمت Jpg , Tiff, Gif , Bmp برای گرفتن مسیر و فرمت فایل خروجی.

48 - برنامه ای بنویسید که در آن بعد از فراخوانی تصویر ( هم تصویر خاکستری و هم رنگی ) نتیجه اعمال فیلترهای میانه ، میانگین ( ساده و وزن دار ) و فیلتر گوسی را نمایش دهد.

49 - برنامه های زیر را بنویسید.

  • انتقال لگاریتمی
  • تابع گاما
  • محاسبه هیستوگرام
  • متعادل سازی هیستوگرام
  • تناظریابی هیستوگرام

50 -

| جهت سفارش پروژه و تکلیف پردازش تصویر OpenCV و متلب MATLAB لطفا در شبکه های تلگرام و واتساپ موضوع و سوال مورد نظر را به شماره  989364847193+ ارسال نمایید، تا پس از بررسی هزینه خدمت شما اعلام گردد.

موضوعات
Designed By M A T L A B K H O O N E H