matlabkhooneh

پروژه PIC - پیاده سازی مالتی پلکسر با PIC16f84a ( کد Pic0001 )

1 - یک کد برای میکرو pic16f84a در محیط mikroC PRO for PIC بنوسید که کار مالتی پلکسر را انجام دهد. چهار ورودی به ترتیب به b0  تا b3 متصل شود و دو انتخابگر به  A0,A1 متصل شود و خروجی نیز  B7 باشد.

2 - برنامه و سخت افزاری طراحی کنید که یک عدد 8 بیتی علامتدار را از PORTB دریافت نماید و آن را بر روی نمایشگر سون سگمنت چهار رقمی از نوع آند مشترک به روش مالتی پلکسری نمایش دهد و بر روی رقم چهارم نمایشگر علامت را نشان دهد.

راهنمایی : اگر بیت PB.7 یک باشد علامت منفی و اگر صفر باشد علامت مثبت است. بنابراین محدوده عدد خوانده شده بین 127+ تا 127- خواهد بود.

3 -

 

جهت سفارش پروژه ، تکلیف و آموزش میکروکنترلر PIC و Mikro C لطفا با متلب خونه تماس بگیرید، تا پس از بررسی هزینه خدمت شما اعلام گردد.

پشتیبانی ( تلفن ثابت دفتر متلب خونه ) : 02191307193  

تلگرام و ایتا :  09364847193

تکالیف سری اول درس پردازش تصویر ( کد Mat0106 )

1 - برنامه ای بنویسید که یک ماتریس رابه عنوان ورودی دریافت کند و محتویات سطرهای زوج و فرد آن را با هم عوض کند و سپس یک ماتریس به عنوان خروجی برگرداند.

2 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و محتویات ستون های زوج و فرد را با هم عوض کند و سپس یک ماتریس به عنوان خروجی برگرداند.

3 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و با در نظر گرفتن بلوک های 2×2 عناصر قطر اصلی و قطر فرعی را با هم عوض کند

4 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و ستون های اول و آخر ماتریس، ستون دوم و ستون یکی مانده به آخر و ستون های بعدی را به همین منوال عوض کند.

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

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

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

8 - برنامه ای بنوسید که یک ماتریس مربعی را به عنوان ورودی دریافت کند و نیمه بالایی ماتریس را با نیمه پایینی ماتریس نسبت به قطر اصلی (بالا مثلثی و پایین مثلثی) را با هم جابه جا کند.

9 - برنامه ای بنویسید که یک ماتریس مربعی را از ورودی دریافت کند و نیمه بالا و پایین را نسبت به قطر فرعی جا به جا کند.

10 - برنامه ای بنویسید که یک ماتریس مربعی را به عنوان ورودی دریافت کند و اعداد قطر اصلی را از کوچک به بزرگ مرتب کند.

11 - برنامه ای بنویسید که یک ماتریس و دو عدد را به عنوان ورودی دریافت کند و سطر عدد اول را با سطر عدد دوم جابه جا کند.

12 - برنامه ای بنویسید که یک ماتریس را از ورودی دریافت کند و به همان ابعاد ماتریس  Random بسازد. حال با توجه به این ماتریس که بزرگ تر از نیم بود عضو متناظر آناز ماتریس ورودی را افزایش و در غیر این صورت عضو متناظر آن از ماتریس ورودی را کاهش دهد.

13 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند، سپس ماتریس را به یک بردار ستونی تبدیل کند و بعد آن را از کوچک به بزرگ مرتب کند و در پایان به یک ماتریس با سایز ماتریس ورودی تبدیل کند.

14 - برنامه ای بنویسید که یک ماتریس را از ورودی دریافت کند و معدل اعداد هر دو سطر را محاسبه و در ماتریس جدیدی قرار دهد.

15 - برنامه ای بنویسید که یک ماتریس را از ورودی دریافت کند و واسطه هندسی هر بلاک 2×2 را در مرکز بلاک قرار دهد.

16 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و اعضای ماتریس را از تابع زیر عبور دهد.

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

18 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و به صورت زیرماتریس خروجی را بسازد.

19 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و ماتریس خروجی رابه صورت زیر بسازد.

20 - برنامه ای بنویسید که یک بردار را از ورودی دریافت کند و از روی آن دو بردار زیر را بسازد.

21 - برنامه ای بنویسید که دو بردار را به عنوان ورودی دریافت کند و زاویه بین دو بردار را با استفاده از رابطه ضرب داخلی و cos محاسبه کند.

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

23 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و هر ستون را بر ماکزیمم همان ستون تقسیم کند.

24 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و ستون های آن را به صورت یکی در میان از انتها به ابتدا مرتب کند.

25 - برنامه ای بنویسید که دو ماتریس را به عنوان ورودی دریافت کند و از روی این دو ماتریس، ماتریس سومی به صورت زیر بسازد.

26 - برنامه ای  بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و روی آن ماتریس بلوک های 3×3 در نظر بگیرید و عناصر قطر اصلی و فرعی را با هم عوض کند.

27 - برنامه ای بنویسید که یک ماتریس رابه عنوان ورودی دریافت کند و اعداد داخل یک بلاک 2×2 را مرتب کند و در جای خود قرار دهد.

28 - برنامه ای بنویسید که یک عدد n دریافت کند و یک ماتریس باینری n×n بسازد. برای ساخت هر عنصر این ماتریس یک عدد تصادفی تولید کند اگر عدد تصادفی کوچکتر از  0.2 باشد عدد صفر و در غیر این صورت عدد یک قرار دهد.

29 - برنامه ای بنویسید که یک عدد n دریافت کند و یک ماتریس شامل  0,1,2 بسازد به طوری که احتمال هرکدام به صورت زیر باشد.

30 - برنامه ای بنویسید که یک ماتریس رابه عنوان ورودی دریافت کند و برای هر نقطه انتگرال ماتریس را محاسبه کند. (بالا، سمت ، چپ)

31 - برنامه ای بنویسید که عدد n را به عنوان ورودی دریافت کند و یک ماتریس با استفاده از رابطه زیر بسازد.

32 - برنامه ای بنویسید که عدد n را به عنوان ورودی دریافت کند و یک ماتریس با استفاده از رابطه زیر بسازد.

33 - برنامه ای بنویسید که عدد n را به عنوان ورودی دریافت کند و یک ماتریس با رابطه بازگشتی زیر بسازد.

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

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

36 - برنامه ای بنویسید دو ماتریس را به عنوان ورودی دریافت کند و ماتریس ماکزیمم را محاسبه کند. ( بزرگترین درایه متناظر )

37 - برنامه ای بنویسید که با دریافت دو عدد N1 و N2 به عنوان ورودی یک ماتریس به فرم زیر بسازد.

38 - برنامه ای بنویسید که عدد N را از کاربر به عنوان ورودی دریافت کند و یک ماتریس N×N به صورت زیر بسازد.

39 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و یک mask به صورت صلیبی روی آن قرار دهد و اعداد داخل mask را sort کند و عدد وسط را جایگزین مرکز mask کند. بقیه عناصر در محل خود باقی می مانند.

40 - برنامه ای بنویسید که یک ماتریس را از ورودی دریافت کند ویک mask به صورت زیر روی آن قرار دهد و اعداد داخل mask را sort کند و جایگزین مرکز mask کند.

41 - برنامه ای بنویسید که دو ماتریس را به عنوان ورودی دریافت کند و ماتریس دوم را روی ماتریس اول بلغزاند. هرگاه ماتریس دوم در ماتریس اول یافت شد در محل راس ماتریس عدد  1 بگذارد.

42 - برنامه ای بنویسید که با استفاده از رابطه ی هم نهشتی زیر با دریافت x0, a, b, n, m بتواند n عدد تصادفی تولید کند.

xn=(axn-1+b) mod m

43 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و یک mask به صورت زیر روی آن قرار دهد و محل عناصر داخل mask را جابه جا کند

44 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند. ابتدا ماتریس ورودی را به بردار تبدیل کند. سپس هم سایز بردار یک بردار اعداد تصادفی تولید کند. بعد اعداد تصادفی را مرتب کند. سپس هر انتقالی که روی بردار تصادفی اتفاق افتاده است بر روی بردار ماتریس انجام شود. در پایان بردار به ماتریس تبدیل گردد.

45 - با به کارگیری حلقه for یک ماتریس 7 * 4 تولید کنید به نحوی که در آن مقدار هر درایه ماتریس برابر مجموع شاخص های آن  ( شماره ردیف و شماره ستون درایه ) باشد. به عنوام مثال مقدار درایه (2,5) برابر 7 باشد.

46 - با حلقه for متلب برنامه ای بنویسید که مجموع 10 جمله اول سری زیر را محاسبه کند.

\[ \sum_{n=0}^{m}(-1)^{n}\frac{1}{2n+1}\]

47 - بردار x=[15 -6 0 8 -2 5 4 -10 0.5 3 ] را در نظر بگیرید با استفاده از دستور if و به کارگیری حلقه for برنامه ای بنویسید که مجموع مقادیر مثبت در این بردار را محاسبه کند.

48 - الف ) تابعی در متلب تعریف کنید که بتواند درایه های یک بردار با طول دلخواه را از بزرگ به کوچک مرتب کند. اسم تابع را downsort قرار دهید. دقت داشته باشید که برای نوشتن این برنامه نباید از دستور sort متلب استفاده شود.

ب ) با دستور randi متلب برداری با طول دلخواه و اعدادرندوم تولید کنید و با استفاده از تابع downsort اعداد موجود در بردار را مرتب کند.

49 - برنامه ای بنویسید که دو بردار  Aو B را دریافت کرده و عناصر مشترک آن دو را نشان دهد.

50 - برنامه ای بنویسید که دو عدد صحیح و مثبت را دریافت نموده و بزرگترین مقسوم علیه مشترک آن دو عدد را نمایش دهد.

| جهت سفارش پروژه ، تکلیف و آموزش سیمولینک Simulink  و  متلب Matlab لطفا با متلب خونه تماس بگیرید، تا پس از بررسی هزینه خدمت شما اعلام گردد.

پشتیبانی ( تلفن ثابت دفتر متلب خونه ) : 02191307193  

تلگرام و ایتا :  09364847193

تکالیف متلب MATLAB - پردازش سیگنال ( کد Mat0103 )

1 - برنامه ای بنویسید که فرکانس سیگنال ورودی مدار زیر را دریافت کند و به کمک حلقه for خروجی را در هر لحظه حساب کند و در نهایت سیگنال خروجی را رسم کند؟

ورودی را به صورت 1000sin(wt) در نظر بگیرید.

ابتدا t را بین 0 تا 100 با گام های 0.01 تعریف کنید، سپس w را به عنوان ورودی دریافت و سیگنال ورودی را تولید کنید. سپس به کمک یک حلقه for که تعداد تکرارهایش با بعد t برابر است خروجی را برای لحظه بعد بدست آورید.

2 - ریشه معادله 3s3+5s2-1=0 را حساب کنید.

3 - سه ماتریس تصادفی 3*3 و 3*1 و1*3 تشکیل داده و به کمک این سه ماتریس و ماتریس یکه واحد به عنوان بلوک چهارم ، یک ماتریس 4*4 ساخته و A بنامید. ماتریس B را به صورت [4;3;2;1]  تعریف کنید و حاصل درستگاه فوق را بیابید. در صورتی که دستگاه شما جواب ندارد علت را بیان کنید.

4 - تابع sinc را در بازه 7 تا 7- رسم کنید. این تابع در چه نقاطی صفر است؟

5 - یک تابع رندوم 10000*1 با مقادیر مثبت و منفی درست کرده و آن را رسم کنید.

6 - تابعی بنویسید که توابع tan(x) و cos(x) را با گرفتن x و N با استفاده از سری تیلور محاسبه کند.

7 - تابعی بنویسید که بزرگترین درایه ( همراه با شماره سطر و ستون ) و متوسط درایه های مارتیس را محاسبه کند.

8 - برنامه ای بنویسید که عدد سه رقمی دلخواهی را گرفته و جای ارقام اول و سوم را با هم عوض کند.

9 - سیگنال های زیر را به کمک دستور stem رسم کنید.(دقت کنید که سیگنال های پله و ضربه واحد باید توسط خودتان پیاده سازی شود و سیگنال ها زمان گسسته هستند)

\[x(n)=u(n+3)-u(n-3)+2\delta (n+3)+3\delta(n+2)\]

\[y(n)=2x(n)-x(2n)\]

\[z(n)=cos(2\pi n).x(n)\]

10 - اگر x(n)=u(n)-u(n-10) یک ورودی برای سیستم LTI با پاسخ ضربه h(n)=(0.9)nu(n) باشد.

الف) ورودی و پاسخ ضربه را رسم کنید.

ب) با کمک مطالبی که در کالس درس آموختید سیگنال خروجی را روی کاغذ بدست آورید و رسم کنید.

ج) با کمک تابع conv متلب خروجی را بدست آورید و با پاسخ خود در قسمت ب مقایسه کنید.

(سیگنال ها زمان گسسته هستند)

11 - الف) تابعی بنویسید و به کمک آن کانوولوشن دو سیگنال گسسته را در زمان محاسبه کنید. (از تابع کانوولوشن متلب استفاده نکنید)

ب) تابع خود را بر روی دو سیگنال دلخواه اعمال کنید و خروجی را بدست بیاوردید ، سپس هر سه سیگنال(دو سیگنال ورودی و یک خروجی) را به کمک دستور subplot ترسیم کنید.

ج) صحت پاسخ خود را به کمک تابع conv متلب بررسی کنید.

12 - با کمک تابع repmat و دستور stem سیگنال زیر را بصورت متناوب تا ۳ دوره تناوب ترسیم کنید

\[x[n]=sin(2\pi n)(u[n]-u[n-10])\]

13 - اندازه و فاز سیگنال زیر را بدست آورید و با استفاده از subplot رسم کنید.

\[X(w)=e^{3jw}+e^{5jw} \;\;\;\;\; for (-10\pi \leq w \leq 10\pi)\]

14 - پاسخ ضربه و پاسخ پله یک سیستم انتگرال گیر را بدست آورده و نمایش دهید.

15 - سه ثانیه صدای خود را ضبط کنید و در حوزه ی زمان و فرکانس نمایش دهید.

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

\[cos(2 \pi t) \;\;\;\;\; \delta (t)\]

17 - برنامه ای بنویسید که ابتدا 3 عدد a , b, c را از ورودی دریافت کند. سپس max و min آن ها را یپدا کرده و یک ماتریس به ابعاد (max , 3 ) ساخته و سطر a ام را اعداد فرد بزرگتر از a و سطر b ام را اعداد تصادفی بین min و  max  و سطر سوم را اعداد بین min و  max با فاصله یکسان قرار دهد.

18 - برنامه ای بنویسید که مقادیر xmin  و  xmax را از کاربر بگیرد و نمودارهای x2 و x3 و x4 را ابتدا در یک نمودار با هم ئو در مرحله بعد در 3 نودار مختلف در یک تصویر نمایش دهد. همچنین مقدار max و min هر نمودار را با دایره علامتگذاری کند.

19 - برنامه ای بنویسید و در یک تصویر دستورهای plot3 , mesh , surf , ezsurf را برای معادله دلخواه با هم مقایسه کنید.

20 - تبدیل فوریه یک سیگنال پیوسته و یک سیگنال گسسته را بدست آورده و رسم کنید.

 

21 - برنامه ای در MATLAB بنویسید که یک عدد اعشاری را از ورودی بگیرد و بخش صحیح و اعشاری را با هم عوض کند و در خروجی نمایش دهد. ( به صورت عددی بدون استفاده از توابع مخصوص رشته ها )

\[ 123.873 \to 873.123\]

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

23 - برنامه ای بنویسید که دو بردار A و B را دریافت کند و عناصر مشترک آن ها را چاپ کند.

24 - با در نظر گرفتن ماتریس های A و B برنامه ای بنویسید که دستگاه معادلات AATX=B را حل کند.

\[A=\begin{bmatrix} 1& 2 & 3 & 4 \\ 2& 3 & 4 & 1 \\ 3& 4 & 1 &2 \\ 4& 1& 2& 3 \\\end{bmatrix} \;\;\;\;\; B=\begin{bmatrix}3 \\ 0\\ 1\\4\end{bmatrix}\]

25 - دستگاه معادلات زیر را در نظر بگیرید

\[\left\{\begin{matrix} 10x-y+2z=6\\ -x+11y-z+3w=25\\ 2x-y+10z-w=-11\\3y-z+8w=15\end{matrix}\right.\]

برنامه ای بنویسید که این دستگاه را به دلخواه توسط یکی از روش های حذفی ژاکوبی یا گاوس سایدل و با 3 مرتبه تکرار حل کند. مقدار اولیه را بردار صفر در نظر بگیرید.

26 - برنامه ای بنویسٌید که با گرفتن مقدار n را  از کاربر، دستگاه معادلات غیر خطی زیر را به روش نیوتون رافسون با تقریب اولیه و تعداد n  تکرار محاسبه کند.

\[\left\{\begin{matrix} ln(x^{2}+y^{2})+y=1\\\sqrt{x}+xy=0\end{matrix}\right. \;\;\;\;\; (x_{0},y_{0})=(2.4 , -0.6) \]

27 - با استفاده از حلقه switch case برنامه ای بنویسید که از ورودی مقدار طول و واحد آن را بر حسب سانتی متر ، فوت و یا اینچ بگیرد و از ورودی بپرسد که این طول را به چه واحدی تغییر دهد، سپس مقدار طول را بر حسب واحد خواسته شده تغییر دهد.

28 - سوال های زیر فقط با استفاده از if و while انجام شوند ( اجازه استفاده از دستور های توان ، باقیمانده و ... را ندارید )

برنامه ای بنویسید که یک عدد را بگیرد و مربع آن را چاپ کند؟

برنامه ای بنویسید که عددی را از ورودی دریافت کند سپس مشخص کند عدد زوج است یا فرد؟

برنامه ای بنویسید که یک عدد را از ورودی دریافت کند و قدر مطلق آن را چاپ کند؟

برنامه ای بنویسید که یک عدد از ورودی بگیرد و فاکتوریل آن را حساب کند؟

برنامه ای بنویسید که مجموع اعداد بخش پذیر بر سه که کوچکتر از 1000 هستند را انجام دهد؟

29 - سوال های زیر  فقط با استفاده از if و for انجام شوند ( اجازه استفاده از دستور های توان ، باقیمانده و ... را ندارید )

برنامه ای بنویسید که یک عدد را بگیرد و مربع آن را چاپ کند؟

برنامه ای بنویسید که عددی را از ورودی دریافت کند سپس مشخص کند عدد زوج است یا فرد؟

برنامه ای بنویسید که یک عدد را از ورودی دریافت کند و قدر مطلق آن را چاپ کند؟

برنامه ای بنویسید که یک عدد از ورودی بگیرد و فاکتوریل آن را حساب کند؟

برنامه ای بنویسید که مجموع اعداد بخش پذیر بر سه که کوچکتر از 1000 هستند را انجام دهد؟

30 - برنامه ای بنویسید که یک عدد در مبنای 2 دریافت کند و آن را به مبنای 10 ببرد.

31 - برنامه ای بنویسید که یک عدد در مبنای 2 دریافت کند و مستقیما به مبنای 16 ببرد. ( بدون استفاده از مبنای 10 )

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

33 - برنامه ای بنوسید که عددی از ورودی دریافت کرده، سپس سری فیبوناچی قبل از آنرا تولید نماید

34 - برنامه ای را بنویسید که یک عدد مثبت را خوانده و همه مقسوم علیه های آن را نمایش دهد

35 - برنامه ای بنویسید که یک عدد را خوانده و با نمایش پیغام مناسب اول بودن آن را تعیین نماید. نکته: عدد اول عددی طبیعی بزرگتر از 1 است که بر هیچ عددی به جز خود و 1 بخشپذیر نباشد. تنها استثنا عدد 1 است که جزو این اعداد قرار نمیگیرد.

36 - برنامه ای بنویسید که عددی را از ورودی دریافت کرده سپس معکوس (یا واران) عدد دریافتی را نمایش دهد.

مثال: ورودی: 2549 - خروجی: 9452

37 - برنامه ای بنویسید که عدد صحیح n را دریافت کرده و حاصل جمع n جمله ی اول سری زیر را نمایش دهد

\[S=\frac{1}{1!}+\frac{2}{2!}+\frac{3}{3!}+...++\frac{N}{N!}\]

38 - عملکرد هر یک از دستورات زیر را کامل شرح دهید.

clc

repmat

ceil

eye

39 - با فرض A=1:16  متغییر A را به صورت مستقیم ( از 1 تا 16 ) و معکوس ( از 16 تا 1 ) تعریف کرده و متغیری که به صورت مستقیم تعریف و در قالب یک ماتریس با سطر و ستون دلخواه نمایش داده شود.

40 - ماتریس زیر را فراخوانی کنید.

\[\begin{bmatrix} 3& 4 & 1 \\ 5& 8& 6\\ 2& 10 & 9 \\\end{bmatrix}\]

الف ) سطر سوم و ستون دوم را فراخوانی کنید.

ب ) سطر اول و ستون آخر را فراخوانی کنید

ج ) کل ستون اول را فراخوانی کنید.

د ) کل سطر دوم را فراخوانی کنید.

ه ) کل ماتریس را در 4 سطر و 5 ستون تکرار کنید.

41 - ماتریس زیر را در نظر بگیرید.

\[\begin{bmatrix} 6& 7 & 5 \\ 5& 2& 3\\ 1& 10 & 4 \\\end{bmatrix}\]

الف ) ابتدا ماتریس را تعریف کنید.

ب ) عناصر قطر اصلی ماتریس را صفر کنید.

ج ) عناصر قطر اصلی را فراخوانی کنید.

د ) عناصر قطر اصلی را جمع کنید.

ه ) کل درایه های ماتریس را یکبار جمع و یکبار ضرب کنید.

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

43 - برنامه ای بنویسید که معادلات زیر را در یک پنجره به صورت زیر نمایش دهد.

\[\left\{\begin{matrix} y=5x^{2}+2x\\ y=log10(x)\\e^{-x/2}\end{matrix}\right.\]

44 -

45 -

46 -

47 -

48 -

49 -

50 -

| جهت سفارش پروژه ، تکلیف و آموزش سیمولینک Simulink  و  متلب Matlab لطفا با متلب خونه تماس بگیرید، تا پس از بررسی هزینه خدمت شما اعلام گردد.

پشتیبانی ( تلفن ثابت دفتر متلب خونه ) : 02191307193  

تلگرام و ایتا :  09364847193

حروف الفبا به صورت ماتریسی ( متلب Mat0101 )

1 - نام و نام خانوادگی خود را با استفاده از کاراکترها در متلب بسازید. ( برای حروف ماتریس مختصات درست کنید و بر اساس 0 و 1 بودن کاراکتر مناسب را نمایش دهید. )

2 - تابعی بنویسید که یک ماتریس از کاربر گرفته و محل سطر و ستون بزرگترین عدد آن را اعلام کند.

3 - تابعی بنویسید که بر اساس عدد ورودی به همان اندازه ستاره در همان تعداد سطر چاپ کند.

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

5 - برنامه ای بنویسید که دما را بر حسب درجه سانتی گراد از کاربر دریافت کرده و آن را به فارنهایت تبدیل کند.

6 - برنامه ای بنویسید که شعاع دایره را دریافت کرده و محیط و مساحت آن را محاسبه کند.

7 - برنامه ای بنویسید که سه عدد دلخواه را به صورت تصادفی از کاربر دریافت کرده و آن ها را به صورت مرتب شده از کوچک به بزرگ ارائه دهد.

8 - برنامه ای بنویسید که عدد M را از کاربر دریافت کرده و اعداد اول کوچکتر از M را چاپ کند.

9 - برنامه ای بنویسید که یک عدد در مبنای 10 گرفته و به مبنای 2 تبدیل کند.

10 - ابتدا با استفاده از نرم افزار متلب MATLAB چهار تابع داده شده را ترسیم نموده و تصاویر این توابع را شامل محور عمودی و افقی و جعبه legend از متلب export کرده و در فایل گزارش خود وارد کنید. سپس با محاسبه انتگرال توسط متلب انرژی و توان هر سیگنال را تعیین کنید. روش محاسبه انتگرال و کدهای مربوطه را نیز در فایل گزارش توضیح دهید.

دقت کنید تنها متغیر مستقل t می باشد و بقیه پارامترها را به صورت دلخواه تعیین کنید.

11 - یک تابع بنویسید که مختصات سه نقطه را در صفحه x-y را دریافت نموده و برای مثلث تشکیل شده بین این نقاط ، مقدار مساحت و مختصات مرکز سطح را محاسبه کند.

12 - به عنوان یک تمرین ساده ، یک تابع بنویسید که تبدیل واحد انجام دهد. یک بار برای تبدیل واحد دما از فارنهایت به سلسیوس و بار دیگر برای واحد طول از فوت به متر.

13 - برنامه ای بنویسید که دو عدد را از کاربر دریافت کرده و سپس عدد سوم را دریافت کرده و بررسی کند که آیا این عدد در بازه بین دو عدد قبلی است یا بزرگتر از عدد بزرگتر یا کوچکتر از عدد کوچکتر است.

14 - برنامه ای‌ بنویسید‌ که‌ اعدادی را‌ از‌ کاربر‌ گرفته‌ و‌ میانگین‌ اعداد‌ برگتر‌ یا‌ مساوی‌ 10 را‌ حساب‌ کند برنامه‌ با‌ وارد‌ کردن‌ عدد‌ منفی‌ توسط‌ کاربر‌ پایان‌ می یابد.

15 - برنامه ای‌ بنویسید‌ که‌ عددی‌ را‌ از‌ کاربر‌ گرفته‌ و‌ اول‌ بودن‌ یا‌ نبودن‌ آن‌ را‌ اعلام‌ کند.

16 - برنامه‌ای‌ بنویسید‌ که‌ شکل‌ زیر‌ را‌ ترسیم‌ کند.

17 -

18 -

19 - برنامه ای به صورت m  فایل بنویسید که نمرات سه درس ریاضی ( 3 واحد ) ، فیزیک ( 3 واحد ) و شیمی ( 2واحد ) را برای تعداد n دانشجو به صورت ماتریس n*3 از کاربر دریافت کند و موارد زیر را محاسبه کند. در نوشتن این برنامه فقط از دستوراتی که تا الان گفته شده می توانید استفاده کنید. استفاده از دستورات شرطی و حلقه ها که موضوع بخش های بعدی درس هستند مجاز نیست.

20 - برنامه ای بنویسیدکه یک عدد را گرفته سپس میانگین ارقام آن را چاپ کند.

21 - برنامه ای بنویسیدکه یک عدد را گرفته سپس میانگین ارقام  زوج آن را چاپ کند.

22 - برنامه ای بنویسیدکه یک عدد را گرفته سپس میانگین ارقام فرد آن را چاپ کند.

23 - برنامه ای بنویسیدکه یک عدد را گرفته سپس مقلوب آن را چاپ کند.

24 - برنامه ای بنویسیدکه یک عدد را گرفته سپس مقلوب اعداد فرد آن را چاپ کند.

25 - برنامه ای بنویسیدکه یک عدد را گرفته سپس مقلوب اعداد زوج آن را چاپ کند.

26 - برنامه ای بنویسید که 2 عدد را گرفته سپس بزرگترین مقسوم علیه مشترک آن ها را چاپ کند.

27 - برنامه ای بنویسید که 2 عدد را گرفته سپس کوچکترین مضرب مشترک آن ها را چاپ کند.

28 - برنامه ای بنویسید که یک عدد را گرفته و آن را به عوامل اول تجزیه کند.

29 - برنامه ای بنویسید که 20 امین عدد اول سری فیبوناچی را چاپ کند.

30 - برنامه ای بنویسید که جملاتی از سری فیبوناچی را که اول هستند تا 50 جمله چاپ کند.

31 - برنامه ای بنویسید که یک عدد را گرفته سپس تشخیص دهد که در سری فیبوناچی وجود دارد یا خیر

32 - برنامه ای بنویسید 100 عدد را گرفته و تعداد اعدادی که در سری فیبوناچی وجود دارند را چاپ کند.

33 - برنامه ای بنویسید 100 عدد را گرفته سپس حاصل جمع کل ارقام 100 عدد را چاپ کند.

34 - برنامه ای بنویسید 100 عدد را گرفته سپس تعداد کل ارقام 100 عدد را چاپ کند.

35 -برنامه ای بنویسید 100 عدد را گرفته سپس میانگین ارقام آن ها را چاپ کند.

36 - برنامه ای بنویسید 100 عدد را گرفته سپس تعداد اعدادی را که با مقلوبشان برابرند را چاپ کند.

37 - برنامه ای بنویسید که یک عدد را گرفته سپس صفرهای آن را حذف کند.

38 - برنامه ای بنویسید که یک عدد را گرفته سپس تعداد مقسوم علیه های اول آن را چاپ کند.

39 - برنامه ای بنویسید که یک عدد را گرفته سپس مجموع مقسوم علیه های اول آن را چاپ کند.

40 - برنامه ای بنویسید که یک عدد را گرفته سپس میانگین مقسوم علیه های آن را چاپ کند.

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

42 - برنامه ای بنویسید که عدد n را گرفته سپس n سطر از شکل های زیر را چاپ کند.

43 - برنامه ای بنویسید که جدول ضرب را چاپ کند.

44 - برنامه ای بنویسید که جدول ضرب مبنای 8 را چاپ کند.

45 - برنامه ای بنویسید که ابتدا 100 عدد را از کاربر بگیرد سپس تعداد اعدادی که هم اول بوده و هم سری فیبوناچی وجود دارند را چاپ کند.

46 - برنامه ای بنویسیدکه یک عدد را گرفته سپس تعیین کند کامل است یا خیر.

47 - برنامه ای بنویسید که اعداد کامل کوچکتر از 1000 را چاپ کند

48 - برنامه ای بنویسید که 100 عدد را گرفته سپس تعداد اعدادی که کامل هستند را چاپ کند.

49 - برنامه ای بنویسید که 100 عدد را گرفته و تعداد اعدادی که هم کامل بوده و بر 2 بخش پذیرند را چاپ کند.

50 - برنامه ای بنویسید که یک عدد را گرفته و سپس رقم های زوج آن را حذف کند.

| جهت سفارش پروژه ، تکلیف و آموزش سیمولینک Simulink  و  متلب Matlab لطفا با متلب خونه تماس بگیرید، تا پس از بررسی هزینه خدمت شما اعلام گردد.

پشتیبانی ( تلفن ثابت دفتر متلب خونه ) : 02191307193  

تلگرام و ایتا :  09364847193

پروژه های پردازش تصویر - تبدیل هندسی ( کد Mat0099 )

1 - تبدیل هندسی

۱-۱ -توسط تبدیل هندسی مناسب، تصاویر Lena ،Barbara و Girl را بر روی سه وجه از مکعب تصویر Cube قرار دهید. تبدیالت هندسی را با بکارگیری درونیابی نزدیکترین همسایه و درونیابی دوخطی انجام دهید.

۱-۲ -انطباق تصاویر یا Registration به فرایند منطبق کردن دو یک چند تصویر بر هم گفته میشود. در این حال و برای دو تصویر، یک تصویر، تصویر مرجع و دیگری تصویر ورودی است که بایستی بر تصویر مرجع منطبق شود. تصویر Map1 را به عنوان تصویر مرجع در نظر گرفته و تصویر Map2 را بر آن منطبق کرده و نمایش دهید. پارامترهای مدل را ارایه کنید

2 - فیلتر میانگین

۱-۲ -فیلتر میانگین به کمک کانولوشن پیاده سازی می شود. با استفاده از خصوصیات فیلتر میانگین از نوع Filter Box ،روشی برای افزایش سرعت پیاده سازی این فیلتر ارایه کنید؛ زمان اجرا الگوریتم اصلی را با الگوریتم خود مقایسه کنید.

۲-۲ -آشکارسازی لبه Robert را به تصویر Mosque اعمال کرده شدت لبه را نشان دهید. فیلتر میانگین 3×3 را ابتدا به تصویر اصلی اعمال کرده و آشکارساز لبه را به تصویر هموار شده اعمال کنید. چه تغییر در نتیجه ایجاد شده؟ این تجربه را به کمک فیلتر 5×5 و 7×7 نیز تکرار کرده و بر روی نتیجه بحث کنید.

۲-3 - دوبار اعمال متوالی یک فیلتر میانگین 3×3 دقیقاً همان نتیجهای که اعمال یکبار فیلتر 5×5 بوجود میآورد را ایجاد نخواهد کرد. آیا میتوانید فیلتری 5×5 طراحی کنید که نتیجهای اعمال آن مشابه دو بار اعمال یک فیلتر 3×3 باشد.

۲-۴ -فیلتری 7×7 طراحی کنید که اعمال آن معادل سه بار اعمال متوالی یک فیلتر 3×3 باشد. به کمک یک آزمایش بر روی تصویر Mosque صحت عملکرد فیلتر طراحی شده را نشان دهید.

3 - بهبود کنتراست تصویر

تصاویر He1 ،He2 ،He3 و He4 تصاویری هستند که میخواهیم به کمک بهبود کنتراست آنها را بهبود دهیم.

3-۱ -بهبود کنتراست این تصاویر را به کمک همسانسازی هیستوگرام (HE (انجام داده نتیجه را ارایه کنید.

3-۲ -اگر تصویر ورودی را f و تصویر بهبود یافته به کمک HE را fhe بنامیم. به ازای مقادیر مختلف α ،از 1.0 تا 5.0 با گام 1.0 تصویر fhe) α-1+(f.α=g را بدست آورده و نتیجه را نمایش دهید. بر روی نتایج بحث کنید.

3-3 -همسانسازی محلی هیستوگرام (LHE (با استفاده از پنجره هایی به ابعاد 5۱×5۱ ،۱0۱×۱0۱ ،۱5۱×۱5۱ و ۲0۱×۲0۱ را بر روی این تصاویر انجام و نتیجه را ارایه کنید. در مورد نتایج بحث کنید.

3-۴ -برای افزایش سرعت LHE از جابجایی بلوک ها به اندازه نصف بلوک و درونیابی استفاده کنید. جهت سهولت، ابعاد پنجره های فوق را در سطر و ستون یک واحد کم کنید تا ابعاد پنجره ها زوج شود.

4 - نقابگذاری غیر تیز (Un-sharp Masking)  

۴-۱ -به کمک استفاده از یک فیلتر هموارساز میانگین 3×3 از نوع Filter Box ،نقاب گذاری غیرتیز را به تصویر child اعمال کنید.

۴-۲ -نقابگذاری غیرتیز را با فیلتر هموار ساز میانگین 3×3 از نوع Average Weighted پیاده سازی کرده نتیجه را با نتیجه قبل مقایسه کنید.

۴-3 -تجربه قسمت )۱ )را با فیلترهای با اندازه بزرگتر 5×5 ،7×7 و 9×9 تکرار کنید. بزرگ کردن فیلتر چه تاثیری بر نتیجه دارد؟ بر روی آن بحث کنید.

۴-۴ -اگر در نقاب گذاری غیرتیز فیلتر میانه را به عنوان فیلتر هموارساز استفاده کنیم چه نتیجهای حاصل می شود؟ 16/1 کلیشه زیر را به عنوان کلیشه لاپلاسین در نظر بگیرید.

5 - حوزه فرکانس

5-۱ -تصویر Im184 را به حوزه فرکانس برده، یکبار طیف Im183 را با فاز Im184 ترکیب کنید و بار دیگر برعکس. حاصل را به حوزه مکان برگردانده و در مورد نتیجه بحث کنید.

5-۲ -با در نظر گرفتن تصاویر Im421 و Im423 به عنوان ورودی، با استفاده از فیلترهای پایینگذر گوسی با ۱0 پهنای باند مختلف، تصویر را هموار کرده نتیجه را نشان دهید.

5-3 -در هر مورد، آنچه که فیلتر پایینگذر حذف کرده را یکبار در حوزه ی مکان و یکبار در حوزه فرکانس بدست آورید و نتیجه را نمایش دهید. هر تصویر را درکنار تصویر متناظر از مرحله )۱ )نمایش دهید.

5-۴ -تصاویر Im421 و Im423 هر یک از دو تصویر مختلف ساخته شده است، یک تصویر از یک فیلتر پایینگذر و دیگری از یک فیلتر باالگذر عبور داده شده و نهایتا با تنظیم شدت مناسب با هم جمع شده اند. بر این اساس با در نظ ر گرفتن دو تصویر دلخواه شما نیز چنین تصویری ایجاد کنید.

6 - موجک

1-6 -یکی از کاربرد های تبدیل موجک، تشخیص خود شباهتی سیگنال است. فرض کنید تصویر fimg را داریم، در این تصویر بخشی از آن در مکان دیگری از تصویر کپی شده است که اصطالحا به چنین حالتی جعل move Copy گفته میشود. تصویر mask_fimg ناحیه دو بالک شبیه به هم را در تصویر fimg نمایش می دهد. ایده ای ارائه دهید که با استفاده از تبدیل موجک، بتوان این دو بلوک از تصویر fimg را که شبیه هم هستند، تشخیص داد. شبه کد الزامی و پیاده سازی میتواند با هر زبانی انجام شود.

2-6 -یکی از کاربرد های تبدیل موجک، یافتن شبیه ترین تصاویر نسبت به تصویر ورودی است. فرض کنید تصویر test را داریم و میخواهیم تصاویر پوشه آموزش را به ترتیب به شبیه ترین تصاویر مرتب کنیم. ایده پیشنهادی خود را شرح دهید و شبه کد آن را بنویسید.

6-3 -تصویر tree را به نویز گاوسی و نمک و فلفل آغشته کنید و با استفاده از تبدیل موجک، تقلیل نویز انجام دهید. شرح دهید که تبدیل موجک کدام نویز را بهتر تقلیل میدهد. کیفیت تصویر تقلیل یافته را به کمک معیارهای PSNR و SSIM گزارش کنید.

7 - پردازش تصاویر رنگی

با جستجو در منابع سه فضا ی رنگ بجز فضاهای رنگ معرفی شده در درس را پیدا کرده در هر مورد وی ژگی های فضا ی رنگ، کاربرد ها و ارتباط آن با فضا ی رنگ RGB یا HSI را بنویسید.

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

9 - برنامه ای بنویسید که نرم افزار MATLAB یک تصویر پزشکی را از ورودی گرفته و آن را به سیاه و سفید تبدیل نماید. سپس مقدار D0 و مرتبه فیلتر باترورث را از ورودی گرفته سپس از تصویر FFT گرفته و فیلترهای بالاگذر و پایین گذر باترورث ، گوسی و ایده آل را روی FFT تصویر اعمال نماید. در نهایت از تصویر بدست آمده تبدیل فوریه معکوس IFFT گرفته و حاصل ( تصویر فیلترشده و بهبود یافته ) را به همراه تصویر اصلی نمایش دهد.

10 - تصویر tif.Chessboard را در محیط متلب بارگذاری نمایید. ابتدا با استفاده از دستور rgb2gray ،تصویر را از حالت رنگی(سه لایه) به تصویر سطح خاکستری (یک لایه) تبدیل کنید، سپس آن را بصورت double تبدیل کنید و در متغیر img1 ذخیره نمایید.

11 - با استفاده از از روش اتسو، آستانه ی تصویر را بدست آورید و آن را در متغیر T ذخیره کنید. سپس تصویر را با استفاده از مقدار T ،آستانه گذاری کنید و نتیجه را نشان دهید. )توجه کنید که روش اتسو از هیستوگرام تصویر استفاده می کند(. آیا تمام خانه های سفید و سیاه به درستی از هم جدا شده اند؟ اگر اینطور نیست، چه راه حلی دارید؟ نتایج بهبود یافته خود را نمایش دهید.

12 - تصویر jpg.tr را در محیط متلب بارگذاری نمایید. ابتدا با استفاده از دستور rgb2gray ،تصویر را از حالت رنگی(سه لایه) به تصویر سطح خاکستری (یک لایه) تبدیل کنید، سپس آن را با دستور imbinarize به یک تصویر باینری تبدیل کرده و در متغیر img2 ذخیره نمایید. با استفاده از عملگرهای مورفولوژی، دایره ها را از تصویر استخراج نمایید و نتیجه را نمایش دهید.

13 - تصویر jpg.bottles را در محیط متلب بارگذاری نمایید. ابتدا با استفاده از دستور rgb2gray ،تصویر را از حالت رنگی(سه لایه) به تصویر سطح خاکستری (یک لایه) تبدیل کنید، سپس آن را بصورت double تبدیل کنید و در متغیر img3 ذخیره نمایید. با استفاده از روش های آستانه گذاری و مورفولوژی که تاکنون یادگرفته اید، بطری که مقدار کمتری محلول دارد را شناسایی کرده و مساحت مقدار محلول نشان داده شده ی آن را بدست آورید. (برای بدست آوردن مساحت و دیگر ویژگی ها، از دستور regionprops استفاده می شود.) راهنمایی: خروجی آستانه گذاری و سپس مورفولوژی شما باید بصورت شکل زیر باشد

14 - الگوریتم آستانه گذاری اتسو را پیاده سازی کنید و ،تصویر صفحه شطرنجی را با استفاده از الگوریتم خود آستانه گذاری نمایید و با خروجی دستور اتسو متلب مقایسه نمایید.

15 - تحقیقی در مورد روش های مختلف zooming  و  shrinking تصاویر انجام داده و کد متلب آن ها را بنویسید. به عبارت دیگر برنامه ای بنویسید که تصویری به همراه یک نسبت تغییر را از ورودی گرفته و به روش های مختلف آن تصویر را کوچک shrink و بزرگ zoom کند.

16 - با کمک دستورات متلب آزمایش های مقدماتی زیر را انجام دهید.

الف ) خواندن یک تصویر با فرمت مشخص مثل bmp و ذخیره سازی آن با فرمت دیگر jpg

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

ج ) اعمال عملگرهای exp و log بر روی تصویر و نمایش نتایج آن ها

17 - برنامه ای بنویسید که تبدیل یک تصویر خاکستری به دو سطحی ( یک مقدار آستانه مناسب ) و نمایش هر دو تصویر را در متلب انجام دهید.

18 - برنامه ای بنویسید که یک تصویر خاکستری مانند Cameraman را با استفاده از روش Histogram Equalization  ارتقا و بهبود دهد ( بدون استفاده از histeq )

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

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

21 - برنامه ای بنویسید که فیلترهای بالاگذر ، میان گذر و پایین گذر ایده آل ، گوسی و باترورث را در حوزه فرکانس ( تبدیل فوریه ) با توجه به خصوصیت های ضرایب و موقعیت آن ها طراحی و یا فیلترهای حوزه مکان مقایسه کنید.

22 - برنامه ای بنویسید که در آن فیلتر همومورفیک را پیاده سازی کرده و آن را به تصویر مرد عکاس اعمال کند.

23 - با استفاده از برنامه نویسی در متلب فیلتر میانه را طراحی کنید. ( بدون استفاده از medfilt2)

24 - با استفاده از برنامه نویسی در متلب و دستورات جعبه ابزار پردازش تصویر آن دستورات imnoise , imfilter , medfilt2 , weiner2 با کمک help متلب دیده و با پارامترهای مختلف امتحان نمایید و تاثیر آن ها را بر خروجی مشاهده فرمایید.

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

26 - برنامه ای بنویسید که تبدیل تصویر رنگی به خاکستری و نمایش هر دو تصویر در متلب انجام دهد.

27 - برنامه ای بنویسید و در آن یک تصویر رنگی را بازکرده و مولفه های R , G , B را مشاهده کرده ، سپس این تصویر را به فضای HSV برده و مولفه های H , S , V را مشاهده کنید و احساس و دانش خود را در خصوص این مولفه ها بنویسید.

28 - برنامه ای بنویسید و در آن لبه های یک تصویر رنگی را استخراج کنید. برنامه لبه یابی را به صورت برداری پیاده سازی کرده و با نوع اسکالر آن مقایسه کنید.

29 - برنامه ای بنویسید که تصویر با سطح خاکستری آغشته به نویز گوسی را با واریانس مختلف به عنوان ورودی گرفته ، سپس به حوزه موجک ببرید و رفع نویز کنید. سپس با وارون تبدیل موجک ، تصویر نهایی را نمایش دهد. در نهایت معیارهای RMSE و PSNR را برای تصویر رفع نویز شده محاسبه نمایید.

30 - برنامه ای بنویسید و در آن روش Improved Gray Scale را پیاده سازی کنید. یک تصویر با 256 سطح را در ورودی گرفته و تصویر با 16 سطح در خروجی تحویل دهید.

31 - در گزارشی مراحل کامل فشرده سازی JPEG و JPEG2000 را توضیح دهید. سپس برنامه ای بنویسید که یک بلوک 8*8 را در ورودی گرفته و آن را با استفاده از روش JPEG فشرده کند.

32 - دو برنامه بنویسید که در آن ها یک تصویر باینری و یک تصویر خاکستری را به عنوان ورودی دریافت کرده و لبه های آن ها را با استفاده از لبه یابی موفولوژی استخراج کنید.

33 - برنامه ای بنویسید که در آن نویز نمکی یک تصویر را با استفاده از عملگرهای موفولوژی کاهش دهید.

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

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

36 - یک برنامه بنویسید و در آن روش باینری سازی اتسو Atsu را پیاده سازی کرده و به چند تصویر اعمال کنید. ( از توابع آماده متلب استفاده نکنید )

37 - برنامه ای بنویسید و با استفاده از الگوریتم خوشه بندی k-means یک تصویر رنگی را ناحیه بندی کنید.

38 - برنامه ای بنویسید که یک عکس Gray Scale و یک عکس رنگی را در متلب فراخوانی کند و تبدیلات زیر را بر روی آن ها اعمال نماید.

تبدیل نگاتیو

تبدیل لگاریتم

تبدیل گاما

39 - Find a point operation (in tabular form) that will equalize a 3-bit image with the following histogram

Plot the both the original and the equalized histograms.

40 - Given a 3-bit image with the following histogram

find a point operation (in tabular form) that will match it to the following histogram

Plot the three histograms and comment on the output.

41 - Write a MATLAB function called equalize that implements the histogram equalization algorithm that was described in class. The function header should have the form:

function im2 = equalize(im)

where im is a uint8 grayscale image and im2 is the uint8 output image. You can use any built-in MATLAB functions in your code except for histeq, which also does histogram equalization. A mark of zero (0) will be given if you use histeq.

Download images “livingroom.tif” and “woman_darkhair.tif” from the course webpage and process them with both equalize and histeq functions. Include a printout of the images before and after equalization with both functions in your report. Also include a plot of the histogram before and after equalization with both functions. Comment on the outputs

42 - Download image “lena_gray_512.tif” from the course webpage. Corrupt the image by
adding salt & pepper noise with densities 5%, 10%, and 20%. Process the three corrupted images
with 3´3 and 5´5:
    i. Median filter.
    ii. Smoothing average filter.
Comment on the results.

42 -  دو تصویر T1W و XRay را در نظر بگیرید.

الف ) با دستور imnoise در متلب MATLAB به دو تصویر نویز گوسی اضافه نمایید. با استفاده از فیلترهای پایین گذر میانگین گیری دارای اندازه های پنجره 2*2 ، 3*3 ، 4*4 و 5*5 مقدار نویز این تصاویر نویزی را کاهش دهید. مقدار PSNR خروجی بر حسب PSNR ورودی را برای هریک از این فیلترها ترسیم نمایید. برای این کار مقدار PSNR تصویر ورودی نویزی را از 15 تا 30 دسی بل تغییر دهید.

ب ) با استفاده از FFT دو بعدی و حذف نویز در حوزه فرکانس ، حذف نویز را برا یتصویر ورودی دارای مقدار PSNR برابر 15 دسی بل انجام دهید. نمودار PSNR خروجی را بر حسب درصد فرکانس های حذف شده ترسیم نمایید.

43 - در این تمرین تابع درونیابی را پیاده سازی کرده و نتیجه را با MATLAB مقایسه می کنیم.

الف ) تابعی بنویسید که مشابه درونیابی دو بعدی interp2 در متلب MATLAB عمل نماید. در نوشتن تابع مورد نظر، روش های

  • تکرار نقطه ( نزدیک ترین همسایه )
  • خطی
  • درجه سوم

را پیاده سازی نماید. با انجام چند آزمایش ساده ( هم بر روی ماتریس های کوچک تصادفی و هم بر روی تصاویر واقعی ) تابع نوشته شده توسط خود را با تابه interp2 مقایسه نمایید.

ب ) تصویر نمونه عکاس در متلب MATLAB ( یعنی cameraman.tif ) را با استفاده از درونیابی به یک تصویر 512*512 تبدیل نمایید. برای این کار هم از تابع نوشته شده در قیمت قبل و هم از تابع interp2 استفاده نمایید. نتیجه این دو تابع را با هم مقایسه نمایید.

44 - The Fourier transform is complex, so it can be expressed as

\[ F(u,v)=R(u,v)+jIm(u,v)=\left|F(u,v)\right|e^{j\phi(u,v)}\]
where, |F(u,v)| is the spectrum, and phi(u,v) is the phase angle.
Interesting and sometimes nonsensical results are obtained when the symmetry and signs in the Fourier transform are not preserved.
Download the image “pirate.tif” from the course webpage, and obtain its spectrum, S, and phase, P. Then,
  • Let S1 = S and S1(0.75M:M, 0.75N:N) = 0 where [M, N] = size(S). Recover the image using S1
    and P. Show your result.
  • Let F*(u,v) be the complex conjugate of F(u,v). Recover the image using F*(u,v) and display it.
  • Multiply the real pat of F(u,v) by 0.4. Leave the Imaginary part unchanged. Recover the image
    using the modified F(u,v) and display it.

45 - Download the image “boat.png” from the course webpage. Filter the image using:

  • Ideal low and high pass filters.
  • Butterworth low and high pass filters.
  • Gaussian low and pass filters.

Try at least three different values for Do and n. Include all trials in your report and comment on the outputs.

46 - Download the images “livingroom_noisy.tif” and “pirate_noisy3.tif” from the course webpage.

  • Clean up the images, and display the cleaned ones.
  • Extract and display the noise pattern in both images.

47 - Download the image “boat_noisy1.tif” from the course webpage. The image is corrupted by noise

  • Extract its noise histogram. Display the histogram (using function bar) and indicate (by name) what you think the noise PDF is. Determine the relevant noise parameter(s) using the histogram you extracted. (Hint: Use function roipoly to extract the data you think will help you identify the noise.)
  • Use function imnoise or imnoise2, as appropriate, to generate X samples of the noise type and parameter(s) you determined in (a). Generate the histogram of the samples using function hist, and display the histogram. Here, X is the number of pixels in the ROI in (a). Compare with the corresponding histogram from (a).

48 - Download the images “peppers_noisy.tif” and “us092_noise.pgm” from the course webpage. Try different filters to reduce noise in both images. Include all trials in your report. Then, use visual evaluation to recommend the best filter in each case

49 - با استفاده از کدنویسی متلب MATLAB  بر روی تصویر زیر فیلتر بالاگذر و پایین گذر فرکانسی را اعمال نمایید.

50 -

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

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