farivar.maryam 1226 ارسال شده در 2 خرداد، 2014 با سلام از دوستان عزیز خواهش میکنم اگر کسی در زمینه moving average در متلب فایل آموزشی یا مطلبی داره لطف کنه و در اختیارم بذاره ممنونم از لطف همگی 5
Imaaan 17059 ارسال شده در 2 خرداد، 2014 با سلاماز دوستان عزیز خواهش میکنم اگر کسی در زمینه moving average در متلب فایل آموزشی یا مطلبی داره لطف کنه و در اختیارم بذاره ممنونم از لطف همگی سلام روی تصویر یا سیگنال؟ روی تصویر رو میگم، سیگنال یه بعدیش میشه. همون کانولوشن هست، یعنی یه ماسکی دارین که باید پیکسل به پیکسل روی تصویر حرکت کنه. مجموع مقادیر ماسک هم باید برابر یک باشه. اگه تمام مقادیرش برابر باشه، میشه Filter میانگین. از دستور های زیادی میشه براش استفاده کرد: conv2, filter2, imfilter یا حتی دستور های Colfilt یا nlfilter 5
farivar.maryam 1226 مالک ارسال شده در 3 خرداد، 2014 سلامروی تصویر یا سیگنال؟ روی تصویر رو میگم، سیگنال یه بعدیش میشه. همون کانولوشن هست، یعنی یه ماسکی دارین که باید پیکسل به پیکسل روی تصویر حرکت کنه. مجموع مقادیر ماسک هم باید برابر یک باشه. اگه تمام مقادیرش برابر باشه، میشه Filter میانگین. از دستور های زیادی میشه براش استفاده کرد: conv2, filter2, imfilter یا حتی دستور های Colfilt یا nlfilter سلام دستت درد نکنه من با filter2 انجام داده بودم اما راستشو بخوای نمیدونستم کدوم دستورها جز این moving average محسوب میشن والا استاد ما تو صورت سوال گفته سیگنال اما مثال که زد رو تصویر زد من هم رو تصویر انجام دادم براش یه سوال دیگه هم دارم البته ببخشید تصویر خودش نوعی سیگنال به حساب میاد؟ 4
Imaaan 17059 ارسال شده در 3 خرداد، 2014 سلام دستت درد نکنه من با filter2 انجام داده بودم اما راستشو بخوای نمیدونستم کدوم دستورها جز این moving average محسوب میشن والا استاد ما تو صورت سوال گفته سیگنال اما مثال که زد رو تصویر زد من هم رو تصویر انجام دادم براش یه سوال دیگه هم دارم البته ببخشید تصویر خودش نوعی سیگنال به حساب میاد؟ خواهش میکنم. ببخشید واسه چی؟ سوال دیگه. بله، سیگنال ممکنه روی مکان یا زمان تعریف شده باشه، تصویر یه سیگنال مکانی هست. تصویر، صدا، ویدئو همشون زیر مجموعه سیگنال هستن. ولی سیگنال در عمل بیشتر به سیگنال های یه بعدی گفته میشه. 4
farivar.maryam 1226 مالک ارسال شده در 4 خرداد، 2014 خواهش میکنم.ببخشید واسه چی؟ سوال دیگه. بله، سیگنال ممکنه روی مکان یا زمان تعریف شده باشه، تصویر یه سیگنال مکانی هست. تصویر، صدا، ویدئو همشون زیر مجموعه سیگنال هستن. ولی سیگنال در عمل بیشتر به سیگنال های یه بعدی گفته میشه. سلام ممنون از راهنماییات یه کمک دیگه هم میخواستم ازتون من یه تصویر سیاه و سفید رو با یه سیگنال رندوم جمع کردم به عبارتی از سیگنال رندوم به عنوان نویز استفاده کردم استادمون میگه تا اینجای کارم درسته اما نباید از فییلترهای آماده استفاده کنم و moving average رو باید با استفاده از کدنویسی در متلب بسازم در این زمینه شما میتونی بهم کمک کنی؟ برام خیلی مهمه ممنون میشم 3
Imaaan 17059 ارسال شده در 4 خرداد، 2014 سلام ممنون از راهنماییات یه کمک دیگه هم میخواستم ازتون من یه تصویر سیاه و سفید رو با یه سیگنال رندوم جمع کردم به عبارتی از سیگنال رندوم به عنوان نویز استفاده کردم استادمون میگه تا اینجای کارم درسته اما نباید از فییلترهای آماده استفاده کنم و moving average رو باید با استفاده از کدنویسی در متلب بسازم در این زمینه شما میتونی بهم کمک کنی؟ برام خیلی مهمه ممنون میشم سلام کدی که نوشتی رو بذار. دستوراش رو که گفتم، شروع کن هر جا مشکل داشتی بپرس. 4
farivar.maryam 1226 مالک ارسال شده در 4 خرداد، 2014 سلامکدی که نوشتی رو بذار. دستوراش رو که گفتم، شروع کن هر جا مشکل داشتی بپرس. دست گلت درد نکنه من این کد رو نوشتم a=imread('1.jpg'); figure; imshow(a) b=100*rand(size(a)); figure; b=uint8(b); plot(b) c=a+b; figure; imshow© d=filter2(fspecial('average',8),c)/255; figure; imshow(d) استادمون میگه این درسته اما میگه هدف اصلی من از این سوال این بوده که با کد نویسی moving average رو بسازی نه که از فییلترهای آماده نرم افزار متلب استفاده کنی حالا من اصلا نمیدونم برا این کار از کجا شروع کنم 3
farivar.maryam 1226 مالک ارسال شده در 4 خرداد، 2014 دست گلت درد نکنهمن این کد رو نوشتم a=imread('1.jpg'); figure; imshow(a) b=100*rand(size(a)); figure; b=uint8(b); plot(b) c=a+b; figure; imshow© d=filter2(fspecial('average',8),c)/255; figure; imshow(d) استادمون میگه این درسته اما میگه هدف اصلی من از این سوال این بوده که با کد نویسی moving average رو بسازی نه که از فییلترهای آماده نرم افزار متلب استفاده کنی حالا من اصلا نمیدونم برا این کار از کجا شروع کنم شرمنده من فردا صبح تا عصر سر کارم ساعت 8 میتونم بیام اگه شما هم براتون مقدور باشه زحمت بکشین اون زمان بیاین که هر چی گفتین من انجام بدم ممنون میشم ببخشید خیلی مزاحمتون میشم ایشالا جبران کنم 3
نگين...NeGiN 1499 ارسال شده در 5 خرداد، 2014 باید ماسک 3 در 3 کنی ماسک رو در تصویر کانوال میکنی باهم جمع میکنی و بر 9 تقسیم کنی .. این ماسک رو کل تصویرت اعمال میکنی همین .. 4
farivar.maryam 1226 مالک ارسال شده در 5 خرداد، 2014 باید ماسک 3 در 3 کنی ماسک رو در تصویر کانوال میکنی باهم جمع میکنی و بر 9 تقسیم کنی .. این ماسک رو کل تصویرت اعمال میکنی همین .. سلام دوست من خیلی ممنونم از راهنماییت میشه بیشتر توضیح بدی؟ منظورتون اینه من یه ماسک 3*3 رو تصویر ایجاد کنم و ماسک د رتصویر کانوالو بشه بعد از دوباره تو یه بازه دیگه ماسک 3*3 ایجاد کنم باز کانوالو کنم همین طور تا کل تصویر پوشش داده بشه؟ و بعد همه اینا رو با هم جمع کنم؟ اون تقسیم بر 9 هم نفهمیدم برای چه کاریه ممنون میشم اگه کامل تر برام بگی باید چکار کنم 2
Imaaan 17059 ارسال شده در 5 خرداد، 2014 دست گلت درد نکنهمن این کد رو نوشتم a=imread('1.jpg'); figure; imshow(a) b=100*rand(size(a)); figure; b=uint8(b); plot(b) c=a+b; figure; imshow© d=filter2(fspecial('average',8),c)/255; figure; imshow(d) استادمون میگه این درسته اما میگه هدف اصلی من از این سوال این بوده که با کد نویسی moving average رو بسازی نه که از فییلترهای آماده نرم افزار متلب استفاده کنی حالا من اصلا نمیدونم برا این کار از کجا شروع کنم سلام اول درباره نویزی که اضافه کردی صحبت کنیم. b یه نویز با توزیع یکنواخت و میانگین 50 هست. دوم اینکه ماسکی که استفاده کردی یعنی fspecial('average',8) میدونی چیه؟ برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام یه ماسک با تمام مقادیر برابر و مجموع مساوی یک. توی این حالت این ماسک 8 در ،8 پیکسل به پیکسل روی تصویر حرکت میکنه و میانگین میگره. سوم مفهوم کانولوشن دو بعدی هست که برای کدنویسی بهش احتیاج داری، انیمیشن براش پیدا نکردم، ولی فکر کنم همین عکس ها هم بد نباشه، Kernel هم همون ماسکی که دربارش صحبت کردیم: 6
farivar.maryam 1226 مالک ارسال شده در 5 خرداد، 2014 سلاماول درباره نویزی که اضافه کردی صحبت کنیم. b یه نویز با توزیع یکنواخت و میانگین 50 هست. دوم اینکه ماسکی که استفاده کردی یعنی fspecial('average',8) میدونی چیه؟ برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام یه ماسک با تمام مقادیر برابر و مجموع مساوی یک. توی این حالت این ماسک 8 در ،8 پیکسل به پیکسل روی تصویر حرکت میکنه و میانگین میگره. سوم مفهوم کانولوشن دو بعدی هست که برای کدنویسی بهش احتیاج داری، انیمیشن براش پیدا نکردم، ولی فکر کنم همین عکس ها هم بد نباشه، Kernel هم همون ماسکی که دربارش صحبت کردیم: دستت واقعا درد نکنه خیلی بهم کمک کردی با عرض شرمندگی من بازم مشکل داشتم مزاحمتون میشم 4
farivar.maryam 1226 مالک ارسال شده در 5 خرداد، 2014 سلام دوست من خیلی ممنونم از راهنماییت میشه بیشتر توضیح بدی؟منظورتون اینه من یه ماسک 3*3 رو تصویر ایجاد کنم و ماسک د رتصویر کانوالو بشه بعد از دوباره تو یه بازه دیگه ماسک 3*3 ایجاد کنم باز کانوالو کنم همین طور تا کل تصویر پوشش داده بشه؟ و بعد همه اینا رو با هم جمع کنم؟ اون تقسیم بر 9 هم نفهمیدم برای چه کاریه ممنون میشم اگه کامل تر برام بگی باید چکار کنم نگین جان راهنمایی هات خیلی بهم کمک کرد ازت ممنونم 3
Imaaan 17059 ارسال شده در 5 خرداد، 2014 دستت واقعا درد نکنه خیلی بهم کمک کردی با عرض شرمندگی من بازم مشکل داشتم مزاحمتون میشم چه مزاحمتی، نویز همون چیزی بود که میخواستی اضافه کنی؟ 5
farivar.maryam 1226 مالک ارسال شده در 5 خرداد، 2014 چه مزاحمتی، نویز همون چیزی بود که میخواستی اضافه کنی؟ سلام با اضافه کردن نویز مشکل ندارم ماسک گذاری رو هم از روی اون تصاویر متوجه شدم اصل قضیه چیه اما الان کدش رو که نوشتم خطا میده اگه اشکال نداره براتون کدش رو میفرستم یه نگاه بهش بندازین ممنون میشم figure; imshow(a) b=100*rand(size(a)); figure; b=uint8(b); plot(b) c=a+b; figure; imshow© w=[4 0 0 0 0 0 0 0 -4]; [m,n]=size©; for x=1:m for y=1:n d(x,y)=w(x-1,y-1)*c(x-1,y-1)+w(x-1,y)*c(x-1,y)+ w(x-1,y+1)*c(x-1,y+1)+w(x,y)*c(x,y)+ w(x,y+1)*c(x,y+1)+w(x+1,y-1)*c(x+1,y-1)+ w(x+1,y)*c(x+1,y)+w(x+1,y+1)*c(x+1,y+1) end end figure; imshow(d) 3
Imaaan 17059 ارسال شده در 5 خرداد، 2014 سلام با اضافه کردن نویز مشکل ندارم ماسک گذاری رو هم از روی اون تصاویر متوجه شدم اصل قضیه چیه اما الان کدش رو که نوشتم خطا میده اگه اشکال نداره براتون کدش رو میفرستم یه نگاه بهش بندازین ممنون میشمfigure; imshow(a) b=100*rand(size(a)); figure; b=uint8(b); plot(b) c=a+b; figure; imshow© w=[4 0 0 0 0 0 0 0 -4]; [m,n]=size©; for x=1:m for y=1:n d(x,y)=w(x-1,y-1)*c(x-1,y-1)+w(x-1,y)*c(x-1,y)+ w(x-1,y+1)*c(x-1,y+1)+w(x,y)*c(x,y)+ w(x,y+1)*c(x,y+1)+w(x+1,y-1)*c(x+1,y-1)+ w(x+1,y)*c(x+1,y)+w(x+1,y+1)*c(x+1,y+1) end end figure; imshow(d) یه خطی اگه طولانی شد، میشه توی چند خط آورد با ...: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام اینجا روی تصویر پیکسل به پیکسل جلو میره، آدرس دهی c درسته. ولی ماسک یا همون w یه ماتریس 3 در 3 هست، آدرس دهی با x و y که مقادیرشون میتونه خیلی بزرگتر از سه باشه، درست نیست. یه چیزی دیگه ای که هست، توی کانولوشن ماسک به اندازه 180 چرخش داره (توی سیگنال هم برای کانولوشن اول سیگنال دوم رو نسبت به مبدا آینه میکنیم) یعنی برای جمله اول: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام تغییر اندازه متغیر توی حلقه (d) باعث کاهش سرعت اجرای برنامه میشه، برای همین باید متغیر رو قبل از حلقه تعریف کنیم: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام 5
farivar.maryam 1226 مالک ارسال شده در 5 خرداد، 2014 یه خطی اگه طولانی شد، میشه توی چند خط آورد با ...: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام اینجا روی تصویر پیکسل به پیکسل جلو میره، آدرس دهی c درسته. ولی ماسک یا همون w یه ماتریس 3 در 3 هست، آدرس دهی با x و y که مقادیرشون میتونه خیلی بزرگتر از سه باشه، درست نیست. یه چیزی دیگه ای که هست، توی کانولوشن ماسک به اندازه 180 چرخش داره (توی سیگنال هم برای کانولوشن اول سیگنال دوم رو نسبت به مبدا آینه میکنیم) یعنی برای جمله اول: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام تغییر اندازه متغیر توی حلقه (d) باعث کاهش سرعت اجرای برنامه میشه، برای همین باید متغیر رو قبل از حلقه تعریف کنیم: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام مرسی واقعا ممنونم الان همه چیز درست شد فقط سوال آخر اینکه وقتی از فییلتر ها استفاده کرده بودم نویز تصویر خیلی قشنگ از بین میرفت اما الان تصویر یکم حالت سفید پیدا میکنه سوالم اینه که توی این روش مقداری که برای ماتریس ماسک انتخاب میکنیم بر چه اساسی هست؟ و چه مقداری باشه بهتره؟؟ 3
Imaaan 17059 ارسال شده در 5 خرداد، 2014 مرسی واقعا ممنونم الان همه چیز درست شد فقط سوال آخر اینکه وقتی از فییلتر ها استفاده کرده بودم نویز تصویر خیلی قشنگ از بین میرفت اما الان تصویر یکم حالت سفید پیدا میکنه سوالم اینه که توی این روش مقداری که برای ماتریس ماسک انتخاب میکنیم بر چه اساسی هست؟ و چه مقداری باشه بهتره؟؟ ماسک رو چند تا پست قبل تر گفتم برای ف ی ل ت ر میانگین باید چجوری باشه. میانگین یعنی مجموع تقسیم بر تعداد، درسته؟ اینجا هم همینجوری هست. اینجوری که نوشتی فقط برای 3 در 3 جواب میده. هر وقت جواب این با حالتی که از توابع استفاده میکنی یکی شد، روی این فکر کن که چجوری بنویسی که برای nهای دیگه هم جواب بده. 5
farivar.maryam 1226 مالک ارسال شده در 5 خرداد، 2014 ماسک رو چند تا پست قبل تر گفتم برای ف ی ل ت ر میانگین باید چجوری باشه. میانگین یعنی مجموع تقسیم بر تعداد، درسته؟ اینجا هم همینجوری هست.اینجوری که نوشتی فقط برای 3 در 3 جواب میده. هر وقت جواب این با حالتی که از توابع استفاده میکنی یکی شد، روی این فکر کن که چجوری بنویسی که برای nهای دیگه هم جواب بده. آقا ایمان یک دنیا تشکر واقعا نمیدونم چطوری تشکر کنم که این همه با حوصله برام وقت گذاشتین و همه چیز رو توضیح دادین من در زمینه پردازش تصویر خیلی جزیی کار کردم بازم خیلی ازتون ممنونم در مورد اون n هم روش کار میکنم خوشحال میشم از اطلاعاتتون استفاده کنم و ایشالا این لطفتون رو جبران کنم 3
farivar.maryam 1226 مالک ارسال شده در 5 خرداد، 2014 آقا ایمان یک دنیا تشکر واقعا نمیدونم چطوری تشکر کنم که این همه با حوصله برام وقت گذاشتین و همه چیز رو توضیح دادین من در زمینه پردازش تصویر خیلی جزیی کار کردم بازم خیلی ازتون ممنونم در مورد اون n هم روش کار میکنم خوشحال میشم از اطلاعاتتون استفاده کنم و ایشالا این لطفتون رو جبران کنم ماسک رو با استفاده از فرمولی که تو اون پست گفتین نوشتم اما تصویر خیلی فییلتر میشه با کمی ازش باقی میمونه با دستورات فییلتر مینوشتم تصویر یه حالت محو میگیره و نویزش از بین میره اما با این روش حالت دونه دونه بودن رو عکس باقی میمونه فقط سفید میشه تصویر جایی از کار من اشتباهه؟ یا این که عملکرد خودش همینجوره؟ 3
ارسال های توصیه شده