matlabkhooneh

پروژه پردازش تصویر پایتون - هیستوگرام ( Py0014 )

1 - تصویر به ابعاد 256x256  با سطوح خاکستری انتخاب کنید و روی این تصویر فعالیت های زیر را انجام دهیم.

الف - تصویر را به حالت کنتراست پایین با استفاده از Histogram Shrink  در آورید.

 

ب - تصویر حاصله از بند الف را با استفاده از Histogram Stretch  به وضعیت با کنتراست مناسب تبدیل کنید.

ج - تصویر حاصل از بند الف را با استفاده از Histogram Equalization به وضعیت با کنتراست مناسب تبدیل کنید.

د - آنتروپی تصویر اصلی و سه تصویر بندهای الف الی ج را محاسبه کنید و نتیجه را تفسیر کنید.

ه - تصویر حاصل از تصاویر الف و ب (به نام A) و الف و ج( به نام B )  و ب و ج ( به نام C) را نمایش دهید.

و - آنتروپی تصاویر A، B و C  را محاسبه کنید

2 - تصویری انتخاب کنید 

الف) سه فیلتر هموار کننده روی آن اعمال کنید.
ب ) دو فیلتر تیز کننده روی آن اعمال کنید .
ج ) روی تصویر نویز قرار دهید.

د ) با اعمال فیلتر نویز را کاهش دهید.

3 - یک تصویر 256 در 256 با استفاده از یک الگوریتم تصادفی اعداد 20 ، 15 ، 8 ، 8- ، 10- بسازید. سپس به صورت تصادفی از هر منطقه 16 در 16 به جای دو سوم اعداد صفر قرار دهید. آنتروپی تصویر را قبل از صفر قراردادن و بعد از آن محاسبه کنید.

4 - تصویر حاصل شده از تمرین بالا را با استفاده از میانگین گیری و روش میانه صاف کنید. نتایج حاصل را نشان دهید. دلیل نتایج حاصل چیست؟ آنتروپی دو تصویر حاصل شده را به دست آورده و با تصویر اصلی مقایسه کنید. دلیل اختلاف را تفسیر کنید.

5 - مشتق اول تصویر حاصل از تمرین بالا و تصاویر حاصل از میانگین گیری و میانه گیری را نمایش دهید.

6 - مشتق دوم تصویر حاصل از تمرین بالا و تصاویر حاصل از میانگین گیری و میانه گیری را نمای دهید.

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

الف ) انتقال لگاریتمی

ب ) انتقال گاما

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

8 - الف ) تابعی به نام HistogramEqualize بنویسید که یک تصویر سطح خاکستری را گرفته، همسان‌سازی هیستوگرام را روی آن اعمال کرده و تصویر حاصل را برگرداند. برای اینکار می‌توانید از آرایه‌های numpy استفاده کنید، اما نمی‌توانید از توابع آماده در numpy یا opencv برای انجام همسان‌سازی هیستوگرام استفاده کنید. خروجی برنامه خود را با خروجی توابع یکسان‌سازی هیستوگرام موجود در OpenCV مقایسه کنید.
ب) تحقیق کنید روش CLAHE از چه ایده‌ای برای یکسان‌سازی هیستوگرام استفاده می‌کند. خروجی برنامه خود را با خروجی توابع یکسان‌سازی هیستوگرام مبتنی بر CLAHE موجود در OpenCV مقایسه کنید.

8 -

9 -

10 -

11 -

12 -

 

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

تکالیف پردازش تصویر - برش تصویر ( کد 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+ ارسال نمایید، تا پس از بررسی هزینه خدمت شما اعلام گردد.

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

1 - یک تصویر خاکستری را در ماتریسی در متلب MATLAB بخوانید، به کمک حلقه for و تعریف یک سطح آستانه (مفهوم سطح آستانه برای این عملیات تدریس شده است)، آن را به تصویر باینری تبدیل کرده و در یک پنجره هر دو تصویر را در کنار هم نمایش دهید. سطح آستانه را تغییر داده و مجددا عملیات قبل را تکرار کنید. تفاوت در تصاویر باینری استخراجی را توضیح دهید.

2 - برنامه ای در نرم افزار MATLAB بنویسید که یک تصویر رنگی را از ورودی دریافت کند و آن را به سیاه و سفید 8 بیتی تبدیل کند. سپس نویزهای Salt & Pepper  و نویز گوسی را به تصویر اضافه نمایید. سپس فیلترهای میانگین هندسی ، میانگین حسابی ، فیتر هارمونیک و ضد هارمونیک ، فیلترهای max و min و فیلترهای میانی را بر تصویر تخریب شده اعمال نمایید. به طوری که نتایج فیلترها باعث حذف نویزهای اضافه شده به تصویر شود.

3 - الف ) برنامه ای بنویسید که یک تصویر رنگی را گرفته و آن را به تعداد دلخواه به صورت ماتریسی تقسیم بندی کند. 

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

ج ) تابعی بنویسید که تصویر فوق را گرفته و آن را به خاکستری و سیاه و سفید تبدیل کند.

4 - برنامه ای بنویسید که یک تصویر تصادفی Captcha با حداقل n حرف خاکستری (n>6) با شرایط زیر تولید و ذخیزه کند.

الف ) حداقل شامل دو تا از علائم @#$%&* باشد

ب ) به صورت رنگی این کار را انجام دهید.

5 - برنامه ای بنویسید که

الف ) تابعی دلخواه سه بعدی z=f(x,y) را رسم کند.

ب ) یک شبکه عصبی ایجاد کنید که با استفاده از تابع قسمت الف آموزش ببیند

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

6 - برنامه ای بنویسید که دو تصویر دریافت کند ، ابتدا تصویر کوچکتر را به بزرگتر تبدیل کند و تصویر دوم از وسط تصویر اول ظاهر شود تا کل تصویر اول را بگیرد. این عمل را مستطیلی انجام دهید.

7 - برنامه ای بنویسید که یک تصویر و شماره سطر را دریافت کند و منحنی برازش را بدست آرود و مجموع مربعات خطا را محاسبه کند.

\[E=\sum(P(x_{i})-y_{i})^{2}\]

8 - یک تصویر را با متلب باز کنید و با یک ماسک 3*3 تصویر را Smooth کنید.

\[ \frac{1}{9}\begin{bmatrix} 1& 1 & 1 \\ 1& 1 & 1\\ 1& 1 & 1\\\end{bmatrix}\]

9 - عکس خود را در متغییری ذخیره کنید و یک حاشیه 5 پیکسلی از عکس را مشکی کنید و آن را نمایش دهید.

10 - عکس خود را به صورت افقی راه راه کنید. به این صورت که 5 سطر مشکی و 5 سطر بدون تغییر باشد. در مرحله بعد عکس خود را شطرنجی کنید، به این صورت که کار قسمت 1 را به صورت عمودی هم انجام شود.

11 - با دو روش در متلب، یک پنجره فیلتر میانگین 5 در 5 تولید نمایید. )1 -با استفاده از ماتریس ها، 2 -با استفاده از تابع مربوطه( کدهای مربوطه را بنویسید.

12 - فیلتر پایین گذر بطور کلی چطور درست میشود؟

13 - فیلتر بالاگذر بطور کلی چطور درست میشود؟ چرا؟ توضیح دهید.

14 - برای کوچک کردن یا بزرگ کردن یک تصویر در متلب از چه دستوری استفاده میشود؟ در مورد این دستور و نحوه استفاده از آن توضیح دهید.

15 - اگر یک تصویری داشته باشیم که دارای زمینه سفید باشد، چگونه میتوانیم زمینه آن را سیاه کنیم؟ دستورات الزمه را در متلب بنویسید. در مورد چگونگی نحوه عملکرد دستور بطور کامل توضیح دهید.

16 - اگر بخواهیم یک لوگو را در یک تصویر درج کنیم چه مراحلی را بای انجام دهیم. در مورد هر مرحله توضیح دهید. کدهای مربوط به هر مرحله را در متلب بنویسید و توضیح دهید.

17 - چهار مورد از کاربردهای جمع دو تصویر که در کالس در مورد آنها صحبت شده است را بیان نمایید.

18 - مراحل الزم برای پنهان کردن یک نوشته در یک تصویر را بنویسید. کدهای مربوط به هر مرحله را در متلب نوشته و در مورد آن توضیح دهید.

19 - چطور میتوانیم رمز موجود در یک تصویر را استخراج نماییم؟ کد مربوطه را بنویسید.

20 - واترمارکینگ یعنی چه؟ کاربردهای آن را بیان نمایید.

21 - کدهای الزم برای پنهان کردن یک نوشته در یکی از ماتریس های رنگ یک تصویر را در متلب نوشته و در مورد خط به خط کد توضیح دهید.

22 - کد الزم برای استخراج نوشته موجود در ماتریس رنگ قرمز یک تصویر رنگی را در متلب نوشته و توضیح دهید.

23 - هیستوگرام یک تصویر را تعریف کنید. با ذکر یک مثال کوچک.

24 - اگر یک تصویر خیلی روشن باشد هیستوگرام آن به کدام سمت محور مختصات متمایل است؟ چرا؟ توضیح دهید.

25 - اگر یک تصویر خیلی تاریک باشد هیستوگرام آن به کدام سمت محور مختصات متمایل است؟ چرا؟ توضیح دهید.

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

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

28 - چطور میتوانیم یک تصویری که خیلی روشن است را با استفاده از هیستوگرام واضح کرد؟ کدهای مربوطه را نوشته و توضیح دهید.

29 - چطور میتوان یک تصویری را که خیلی تاریک است را با استفاده از هیستوگرام واضح کرد؟ کدهای مربوطه را نوشته و توضیح دهید.

30 - چگونه میتوان از یحث هیستوگرام برای تشخیص یک غده در مغز استفاده نمود؟ توضیح دهید.

31 - تصاویر رنگی در متلب چگونه ذخیره میشوند؟ تصاویر رنگی در OpenCV چگونه ذخیره میشوند؟

32 - نحوه ذخیره سازی تصاویر رنگی در متلب و OpenCV را توضیح دهید

33 -  Channels  در OpenCV چه چیزی را مشخص میکند؟

34 - تعداد ستونها را در یک ماتریس تصویر در OpenCV را چگونه میتوانیم محاسبه نماییم؟

35 - متد at در OpenCV چگونه عمل میکند؟

36 - با استفاده از متد ptr در OpenCV چگونه میتوانیم به آدرس سطر 100 ام از یک تصویر دسترسی پیدا کنیم؟

37 - اگر آدرس سطری را در OpenCV داشته باشیم چگونه میتوانیم به المانها )درایه ها(ی آن سطر دسترسی پیدا کنیم؟

38 - برنامه ای بنویسید که الف( یک تصویر 256 در 256 ایجاد شود. ب( پیکسلهای 0 تا 80 قرمز، سطر 80 تا 160 آبی، ج( سطر 160 تا 256 سبز شود

39 - کد روشهای مختلف پویش حافظه )تصویر( را بنویسید و توضیح دهید.

40 - با استفاده از اشاره گرها چگونه میتوان یک تصویر را پویش کرد؟ در مورد نحوه عملکرد آن توضیح دهید.

41 - چطور میتوانیم لبه های یک تصویر را تقویت کنیم تا تصویر واضح تر گردد؟ کد مربوطه را در OpenCV بنویسید.

42 - چطور میتوانیم لبه های یک تصویر را تقویت کنیم تا تصویر واضح تر گردد؟ کد مربوطه را در متلب بنویسید.

43 - کد تابع sharpen را که در OpenCV برای تقویت لبه های تصویر یا اعمال فیلتر میتوان از آن استفاده نمود را خط به خط توضیح دهید

44 - در OpenCV برنامه ای بنویسید که یک تصویر غیر بارانی را بارانی کند. این کار چگونه انجام میشود؟ کدهای مربوطه را نوشته و توضیح دهید.

45 - -برای تغییر سایز یک تصویر در OpenCV از چه دستوری استفاده میشود؟ در مورد آرگومانهای این تابع توضیح دهید

46 - اگر بخواهیم در OpenCV سایز یک تصویر را به اندازه سایز یک تصویر دیگر کنیم چه کدهایی الزم است بنویسیم؟ توضیح دهید.

47 - تابع resize تصویر در متلب و OpenCV چگونه عمل میکند؟

48 - فرض کنید بخواهیم یک تصویر کوچک را بزرگ کنیم. اگر این کار را با تکرار پیکسلها انجام دهیم چه اتفاقی می افتد؟ توضیح دهید

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

50 - اگر بخواهیم یک لوگو را در یک تصویر درج کنیم چه مراحلی را بای انجام دهیم. در مورد هر مرحله توضیح دهید. کدهای مربوط به هر مرحله را در OpenCV بنویسید و توضیح دهید.

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

تکالیف پایتون Python - توابع Activation ( کد Py0003 )

1 - برنامه ای بنویسید که x و n را از ورودی خوانده و مجموع n جمله سری زیر را محاسبه کرده و نمایش دهد. ( مجاز به استفاده از توابع آماده پایتون برای به توان رساندن نمی باشید )

\[x+\frac{x^{2}}{2}+\frac{x^{5}}{5}-\frac{x^{7}}{2\times 4}-\frac{x^{9}}{1\times 3 \times 5}+\frac{x^{11}}{2 \times 4 \times 6}\]

2 - با استفاده از پایتون و کتابخانه OpenCV ابتدا تصویری انتخاب کنید و سپس 

الف - سه فیلتر هموار کننده روی آن اعمال کنید

ب - دو فیلتر تیزکننده روی آن اعمال کنید

ج - روی تصویر نویز قرار دهید

د- با اعمال فیلتر نویز را کاهش دهید

3 - برنامه ای در پایتون  Python بنویسید که با دریافت نام یک از نمودارهای زیر آن ها را چاپ کند.

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

5 - تابعی بازگشتی بنویسید که تعداد ارقام یک عدد را چاپ کند.

6 - برنامه ای بنویسید که یک عدد صحیح مثبت را از ورودی گرفته و تجزیه آن به عوامل اول را چاپ کند. مثلا اگر کاربر 12 را وارد کرد باید برابر 2**2+1**3 باشد. توجه کنید که در این جا خروجی یک رشته است و نه یک عدد.

7 - چکیده ماتریس

با توجه به تعاریف زیر:

چکیده‌ی افقی، به حاصل تقسیم مجموع اعضای ماتریس بر تعداد سطرهای ماتریس گفته می‌شود.

چکیده‌ی عمودی، برابر حاصل تقسیم مجموع اعضای ماتریس بر تعداد ستون‌های ماتریس است.

چکیده‌ی ماتریس، به حاصل میانگین تمام اعضای درون ماتریس می‌گوییم.

برنامه‌ای بنویسید که با دریافت یک ماتریس از مرتبه‌ی n*m ، چکیده‌های آن را در خروجی نمایش دهد.

ورودی : در خط اول ورودی به ترتیب n و m داده خواهد شد. در n خط بعدی هر کدام m عدد اعشاری ورودی داده می‌شود که برابر اعضای ماتریس است.

خروجی : خروجی اعدادی با حداکثر 5 رقم اعشار در سه خط، به ترتیب تعاریف خواهد بود.

ورودی نمونه

3 2
1.5 3
5.2 -4
-3 3.1

خروجی نمونه

1.93333
2.9
0.96667

8 - تقلب ممنوع!

شرکت Snapp جهت گسترش خدماتش به تازگی اولین نمایندگی خود را در شکرستان افتتاح کرده.

از آنجایی که آشنا شدن مردم شکرستان با Snapp جزو اولویت‌های شرکت محسوب می‌شود، شرکت تصمیم می‌گیرد که قرعه‌کشی عظیمی میان تمامی مردم شکرستان برگزار کند.

به دنبال آن از تمامی مردم شکرستان دعوت ‌می‌شود تا در قرعه‌کشی ثبت‌نام کنند. تنها لازمه‌ی شرکت در قرعه کشی این است که شرکت‌کننده‌ها کلمه شانس خود را روی یک کاغذ بنویسند و در جعبه بیاندازند. تا از میان آنها یک کاغذ به قید قرعه بیرون کشیده شود و به فردی که این کلمه را نوشته جایزه تعلق بگیرد.

اما ممکن است یک شرکت‌کننده به جای یک عدد کاغذ(یک کلمه شانس) تعدادی کاغذ(چندین کلمه‌ی شانس) داخل جعبه بیاندازد و بخواهد تقلب کند. نگران نباشید کارشناسان Snapp فرمول پیچیده‌ای برای حذف کردن کاغذهای اضافی دارند، از نظر کارشناسان Snapp هر دو کلمه شانسی که پیشوندی برابر به طول حداقل p و پسوندی برابر به طول حداقل q داشته باشند، توسط یک فرد به داخل جعبه انداخته شده‌اند و از بین این کلمه ها (کلمه هایی که توسط یک نفر نوشته شده‌اند) تنها یک کلمه در جعبه می‌ماند و باقی کلمه ها حذف می‌شوند.

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

تضمین می‌شود که طول هر کلمه شانس از p , q کمتر نیست.

ورودی : در اولین خط ورودی به ترتیب n و p و q به شما داده می‌شود (n برابر تعداد اولیه کلمه‌های شانس داخل جعبه است). در n خط بعدی در هر خط یک کلمه شانس (متشکل از حروف کوچک انگلیسی) به طول حداکثر ۶۰ آمده است.

خروجی : در تنها خط خروجی تعداد کلمه‌های نهایی داخل جعبه (پس از اعمال فرمول کارشناسان) را چاپ کنید.

ورودی نمونه

3 1 1
armin
akbar
baran

خروجی نمونه

3

9 - اصغر در علم و صنعت

اصغر که در کنکور کارشناسی‌ارشد شرکت کرده بود، در رشته‌ی مهندسی سازه دانشگاه علم‌وصنعت پذیرفته می‌شود. از آنجایی که دانشگاه این روزها بسیار خلوت است و هیچکس نیست تا اصغر از او درباره‌ی مکان‌های مختلف دانشگاه پرس‌و‌جو کند، نیازمند برنامه‌ایست تا هر مکان در دانشگاه را با یک ویژگی خاص در همان ساعت هوشمندش ذخیره کند. هر بار اصغر با گفتن آن ویژگی نام مکان را دریافت کرده یا اسم مکان را خواهد گفت و ساعت ویژگی آن را اعلام می‌کند. البته ممکن است اطلاعاتی که اصغر وارد می‌کند در ساعت موجود نباشد. به طور مثال اصغر ساختمان جدید مهندسی عمران را به آسانسور شیشه‌ای آن می‌شناسد. برای درک بهتر سوال به مثال‌ها توجه کنید.

ورودی : در هر خط یک مکان و ویژگی به برنامه داده می‌شود که با - از هم جدا شده اند. هرگاه . وارد شد به معنای پایان ورود اطلاعات است. سپس در هر خط تعدادی ویژگی یا مکان داده خواهد شد و . بعدی به معنای پایان درخواست اطلاعات از ساعت است.

*نکته:* تضمین می‌شود تمام مکان‌ها/ویژگی‌ها متمایز باشند.

خروجی : بعد از اتمام ثبت اطلاعات عبارت Saved information نمایش داده می‌شود. بعد از آن به ازای هر ویژگی/مکان، مکان/ویژگی متناظر آن نمایش داده می‌شود. در صورت نبود اطلاعات مورد نظر NOT FOUND برای کاربر چاپ خواهد شد. بعد از ورود نقطه‌ی دوم عبارت End نمایش داده می‌شود.

ورودی نمونه

omran-asansor shishei
computer-gerd o gholombe
herasat-nazdike masjed
ketabkhoone-nazdike mahvare
.
ketabkhoone
asansor shishei
oloom paye
.

خروجی نمونه

Saved information
nazdike mahvare
omran
NOT FOUND
End

10 - ثبت نام

*نکته : حتما از dictionary در سوالتون برای ذخیره سازی استفاده کنید در غیر اینصورت نمره ای داده نخواهد شد*

حتماً دیده‌اید که در بخش عضویت بسیاری از وب‌سایت‌ها برای امنیت بیشتر محدودیت‌هایی بر روی نام کاربری و گذرواژه وجود دارد.

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

قواعد زیر را برای نام کاربری و گذرواژه و شماره موبایل در نظر گرفته‌ایم:

نام‌های کاربری User و Admin را می‌خواهیم برای خودمان نگه داریم. کسی مجاز به عضویت با این نام‌های کاربری حتی اگر شامل این عبارت هم باشد مجاز نیست.

نام کاربری کمتر از ۴ حرف بسیار کوتاه است و مجاز نیست.

همچنین برای امنیت کاربران، کاربری که رمز عبور او کمتر از ۶ حرف باشد یا فقط از اعداد تشکیل شده‌باشد نیز مجاز به عضویت نیست.

شماره موبایل حتما باید با 09 شروع شود و حتما 11 رقم باشد

شماره موبایل باید فقط از اعداد تشکیل شده باشد

ورودی : در خط اول n وارد می شود که نشان دهنده تعداد ورودی هاست و در n خط بعدی اطلاعات یوزر نیم و پسورد و شماره موبایل به ترتیب وارد می شود

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

ورودی نمونه

3
Bagherzade ali2020 09326547856
AM admin1010 09141412365
Mohandes user1010 09141232110

خروجی نمونه

Mohandes Bagherzade

11 - شبکه اجتماعی

می‌خواهیم یک شبکه‌ی اجتماعی ایجاد کنیم که امکان افزودن و جست‌وجو کردن افراد در آن وجود داشته باشد. در این شبکه‌ی اجتماعی، اطلاعات هر شخص شامل نام، جنسیت، سن و شناسه‌ی آن شخص می‌باشد. شناسه‌ی هر شخص بین ۵ تا ۱۰ کاراکتر و شامل حروف کوچک و بزرگ الفبای انگلیسی و اعداد می‌باشد و شناسه‌ی افراد مختلف متفاوت است. دستورات این شبکه به شکل زیر هستند:

Add <username> <gender> <age> <id>

Find <id>

در دستور دوم ممکن است شناسه‌ی نوشته شده معرف یک شخص نباشد؛ در این صورت شما باید در صورت وجود، افرادی را که شناسه‌ی آن‌ها با کاراکترهای نوشته شده شروع می‌شود به عنوان نتیجه‌ی جست‌وجو گزارش کنید. اگر تعداد این افراد بیشتر از ۱۰ نفر بود، فقط ۱۰ نفر اول (به ترتیب لغت‌نامه‌ای) را گزارش کنید.

ورودی : در هر خط از ورودی برنامه، یکی دستورهای بالا وارد خواهد شد. تعداد دستورات از ۱۰۰۰۰۰ کمتر است. برای خروج از برنامه دستور exit 0 وارد خواهد شد. تضمین می‌شود جز سه دستور فوق ورودی دیگری داده نخواهد شد.

خروجی : برای دستورهای Add عبارتی به شکل User <id> added successfully را در خروجی چاپ کنید.

برای دستورهای Find، نتایج به دست آمده را در خروجی چاپ کنید. برای اینکه نتایج دستورهای مختلف قابل تمایز باشند، در هر خط خروجی شماره‌ی دستور Find متناظر با آن را نیز چاپ کنید. همچنین اگر برای جست‌وجوی انجام شده نتیجه‌ای یافت نشد، عبارت No user found را در خروجی قرار دهید. برای روشن‌تر شدن خروجی‌ها به نمونه توجه کنید

ورودی نمونه

Add Ali male 20 ali20ali
Add Mohammad male 21 mohammadm
Add Akbar male 30 akbar30
Find ali
Add Maryam female 20 maryam20
Find mohammad21
Add Mahtab female 13 mahtab13
Add Maziar male 40 maziarAk
Find ma
exit 0

خروجی نمونه

User ali20ali added successfully
User mohammadm added successfully
User akbar30 added successfully
1 Ali male 20 ali20ali
User maryam20 added successfully
2 No user found
User mahtab13 added successfully
User maziarAk added successfully
3 Mahtab female 13 mahtab13
3 Maryam female 20 maryam20
3 Maziar male 40 maziarAk

 

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

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