اطلاعیه

Collapse
No announcement yet.

کاهش نویزتصویر توسط ویولت

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #31
    پاسخ : کاهش نویزتصویر توسط ویولت

    سلام.
    ببخشید منظورم "روش های تخمین واریانس نویز" بود :redface:

    دیدگاه


      #32
      پاسخ : کاهش نویزتصویر توسط ویولت

      نوشته اصلی توسط hasting_m
      سلام.
      ببخشید منظورم "روش های تخمین واریانس نویز" بود :redface:
      واریانس فقط برای مدل نویز گوسی (نرمال) مطرح میشه، که طبق مرجعی که معرفی کردم در اثر عواملی مثل نویز مدارهای الکتریکی و نویز سنسور به دلیل نور کم یا دمای بالا به وجود میاد. روش تخمین واریانس نویز گوسی توی گونزالز نبود ولی سرچ بزنی، نتایج زیادی پیدا می کنی.
      لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
      لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
      با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
      اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
      یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

      دیدگاه


        #33
        پاسخ : کاهش نویزتصویر توسط ویولت

        نوشته اصلی توسط هـادی
        واریانس فقط برای مدل نویز گوسی (نرمال) مطرح میشه، که طبق مرجعی که معرفی کردم در اثر عواملی مثل نویز مدارهای الکتریکی و نویز سنسور به دلیل نور کم یا دمای بالا به وجود میاد. روش تخمین واریانس نویز گوسی توی گونزالز نبود ولی سرچ بزنی، نتایج زیادی پیدا می کنی.
        باتشکر فراوان،
        یک روش برای تخمین این واریانس اینه که
        واریانس تصویر اصلی بدون نویز+واریانس نویز=واریانس تصویر امیخته با نویز
        و از این رابطه واریانس نویز را محاسبه میکنیم.
        من که تو مقاله ای که دیدم دیگه هیچی توضیح نداده بود.
        1/آخه این واریانسی که از تصویر سالم و تصویر نویزی باید تو رابطه قرار بدیم رو چجوری بدست آوریم؟
        یعنی واریانس ضرایب موجک دو تصویر ؟؟؟یا واریانس خود تصویر که بصورت عدد در آمده(یعنی اعدادی که imreadنمایش میدهد)؟)
        2/اینجوری با این روش پس یک واریانس برای همه سوح بدست می اید ؟درسته؟و نمیتوان برای هر زیرباند جداگانه واریانس نویز را یافت؟

        دیدگاه


          #34
          پاسخ : کاهش نویزتصویر توسط ویولت

          نوشته اصلی توسط hasting_m
          باتشکر فراوان،
          یک روش برای تخمین این واریانس اینه که
          واریانس تصویر اصلی بدون نویز+واریانس نویز=واریانس تصویر امیخته با نویز
          و از این رابطه واریانس نویز را محاسبه میکنیم.
          من که تو مقاله ای که دیدم دیگه هیچی توضیح نداده بود.
          1/آخه این واریانسی که از تصویر سالم و تصویر نویزی باید تو رابطه قرار بدیم رو چجوری بدست آوریم؟
          یعنی واریانس ضرایب موجک دو تصویر ؟؟؟یا واریانس خود تصویر که بصورت عدد در آمده(یعنی اعدادی که imreadنمایش میدهد)؟)
          2/اینجوری با این روش پس یک واریانس برای همه سوح بدست می اید ؟درسته؟و نمیتوان برای هر زیرباند جداگانه واریانس نویز را یافت؟
          پاسخ:منظورضرایب موجک تصویرها هست.یعنی ازضرایب موجک،واریانس میگیریم.یعنی ضررایب را بهیکبردار تبدیل کرده و واریانس را حساب می کنیم.
          حالا یکسوال دیگه:اصلاواریانس نویزبیانگرچی هست؟چه مفهومی داره؟

          دیدگاه


            #35
            پاسخ : کاهش نویزتصویر توسط ویولت

            توان/انرژی
            لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
            لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
            با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
            اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
            یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

            دیدگاه


              #36
              پاسخ : کاهش نویزتصویر توسط ویولت

              سلام.برای نویز گوسی یک راه حذف نویز استفاده از فیلتر گوسی است.
              برای این کار باید سایز پنجره مورد نظر و سیگمای فیلتر گوسی را تعیین کنیم.
              انتخاب این دو بر چه مبناییی صورت می گیرد؟
              هر چه سیگمای فیلتر و سیگمای تصویر نویزی به هم نزدیک تر باشد،بهتر عمل فیلتر انجام میشود؟
              من که با تغییر عرض پنجره و تغییر سیگما تغییر خاصی رو متوجه نمیشوم :sad:
              کد:
              %recodec
              clear all
              clc
              x=imread('1.png');
              x=rgb2gray(x);
              imshow(x) % x=clear image
              sigma1=0.1
              y=imnoise(x,'gaussian',0,sigma1);%mean=0 & sigma1=0.01%
              figure(2)
              imshow(y)
              w=fspecial('gaussian',[101 101],1);
              x2=imfilter(y,w);
              figure(3)
              imshow(x2)
              MSE=sum(sum((x2-x).^2))/512 %less-better
              PSNR= 10*log10(255/MSE)^2

              دیدگاه


                #37
                پاسخ : کاهش نویزتصویر توسط ویولت

                اندازه پنجره و انحراف معیار فیلتر هر دو با میزان محوشدگی تصویر نسبت مستقیم دارن ولی اثر انحراف معیار بیشتره. تفاوت کاملاً محسوسه :eek: .
                لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                دیدگاه


                  #38
                  پاسخ : کاهش نویزتصویر توسط ویولت

                  a)نمیدونم .من که روی تصویر لنا انجام میدم تغییر خاصی نمیکنه.SNR در حد صدم تغییر میکنه و تضویر هم نویزیه.شما برنامه منو اجرا کردین؟؟
                  ضمن اینکه وقتی میبینم تصویر مات تر(بهتر) میشه،میزانSNR کم تر میشه!!!!در حالیکه باید بیشتر بشه.فقط فهمیدم اثر واریانس قوی تره از عرض پنجره.
                  b)حالا یک سوال دیگه سیگما در ورژن های جدید و قدیم متلب فرقی دارند باهم؟؟تو helpچیزی ندیدم.چون تو یک مقاله گفته بود سیگما برابر50به تصویر اضافه شده،که وقتی اضافه کردم وحشتناک تصویر داغون شد oo:
                  شاید تقسیم بر100باید بشه؟یعنی0.5
                  یا اگر اون مقاله بخوایم بر حسب50 دسی بل فرض کنیم،بازم به عددش که برگردونیم که خیلی بزرگتر میشه oo:

                  دیدگاه


                    #39
                    پاسخ : کاهش نویزتصویر توسط ویولت

                    سلام. اینو ببین. (فرمول محاسبه MSE و PSNR اشتباه بود که تصحیح کردم)
                    کد:
                    %recodec
                    clear all
                    clc
                    x=imread('Lena.jpg');
                    % x=rgb2gray(x);
                    imshow(x) % x=clear image
                    sigma1=0.1;
                    y=imnoise(x,'gaussian',0,sigma1);%mean=0 & sigma1=0.01%
                    figure(2)
                    imshow(y)
                    figure(3)
                    winsize = [3, 15, 75];
                    sigma = [0.05, 0.15, 0.75];
                    for i = 1 : 3
                      for j = 1:3
                        w=fspecial('gaussian',[winsize(i) winsize(i)],sigma(j));
                        x2=imfilter(y,w);
                        MSE=sum(sum((x2-x).^2))/(length(x(:))); %less-better
                        PSNR= 20*log10(255/sqrt(MSE));
                        subplot(3,3,(i-1)*3 + j);
                        imshow(x2)
                        title(['win size = ',num2str(winsize(i)),' & \sigma = ',num2str(sigma(j)) ...
                          ' MSE = ',num2str(MSE),' PSNR = ',num2str(PSNR) ]);
                      end
                    end
                    این هم خروجی: (تصویر بزرگ => کلیک روی عکس)

                    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                    لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                    با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                    اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                    یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                    دیدگاه


                      #40
                      پاسخ : کاهش نویزتصویر توسط ویولت

                      نوشته اصلی توسط هـادی
                      (تصویر بزرگ => کلیک روی عکس)
                      :eek:
                      :eek:
                      سلام.بسیار ممنون.متوجه اشتباهم شده بودم.ولی سوال دیگه ی من برقراره مچنان تو مقالات اومده سیگماهای در حد 20و10و50داده :surprised:
                      در حالیکه من زیر 1عدد دادم.این به ورژن متلب مربوطه؟مال من2013است.تو هلپ اون هم نگاه کردم سیگما رو یک عدد گفته
                      در حالیکه تو مقاله سیگما بر حسب دسی بل هست.مثلا 50bBکه خیلی بد تصویر خراب میکنه.
                      و نتایج مقالات رو نمیده
                      کمک :NO:

                      دیدگاه


                        #41
                        پاسخ : کاهش نویزتصویر توسط ویولت

                        باید واحد لگاریتمی رو به خطی تبدیل کنی، همینجوری توی imnoise بذاری 50 معلومه که خراب میشه:

                        کد:
                        %recodec
                        clear all
                        clc
                        % inline definition of standard deviation from standard deviation in dB and
                        % signal;
                        std_n = @(x)( std( reshape( double(x{1}),1,[]) ) ./ ( 10 .^ ( x{2} / 20 ) ));
                        x=imread('Lena.jpg');
                        % x=rgb2gray(x);
                        imshow(x) % x=clear image
                        sigma1_dB = 50;
                        sigma1 = std_n({x,sigma1_dB});
                        % sigma1=0.1;
                        y=imnoise(x,'gaussian',0,sigma1);%mean=0 & sigma1=0.01%
                        figure(2)
                        imshow(y)
                        figure(3)
                        winsize = [3, 15, 75];
                        sigma_db = [50 40 30];
                        sigma = std_n({y,sigma_db});
                        % sigma = [0.05, 0.15, 0.75];
                        for i = 1 : 3
                          for j = 1:3
                            w=fspecial('gaussian',[winsize(i) winsize(i)],sigma(j));
                            x2=imfilter(y,w);
                            MSE=sum(sum((x2-x).^2))/(length(x(:))); %less-better
                            PSNR= 20*log10(255/sqrt(MSE));
                            subplot(3,3,(i-1)*3 + j);
                            imshow(x2)
                            title(['win size = ',num2str(winsize(i)),' & \sigma = ',num2str(sigma(j)) ...
                              ' MSE = ',num2str(MSE),' PSNR = ',num2str(PSNR) ]);
                          end
                        end
                        لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                        لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                        با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                        اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                        یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                        دیدگاه


                          #42
                          پاسخ : کاهش نویزتصویر توسط ویولت

                          نوشته اصلی توسط هـادی
                          باید واحد لگاریتمی رو به خطی تبدیل کنی، همینجوری توی imnoise بذاری 50 معلومه که خراب میشه:

                          کد:
                          %recodec
                          clear all
                          clc
                          % inline definition of standard deviation from standard deviation in dB and
                          % signal;
                          std_n = @(x)( std( reshape( double(x{1}),1,[]) ) ./ ( 10 .^ ( x{2} / 20 ) ));
                          x=imread('Lena.jpg');
                          % x=rgb2gray(x);
                          imshow(x) % x=clear image
                          sigma1_dB = 50;
                          sigma1 = std_n({x,sigma1_dB});
                          % sigma1=0.1;
                          y=imnoise(x,'gaussian',0,sigma1);%mean=0 & sigma1=0.01%
                          figure(2)
                          imshow(y)
                          figure(3)
                          winsize = [3, 15, 75];
                          sigma_db = [50 40 30];
                          sigma = std_n({y,sigma_db});
                          % sigma = [0.05, 0.15, 0.75];
                          for i = 1 : 3
                            for j = 1:3
                              w=fspecial('gaussian',[winsize(i) winsize(i)],sigma(j));
                              x2=imfilter(y,w);
                              MSE=sum(sum((x2-x).^2))/(length(x(:))); %less-better
                              PSNR= 20*log10(255/sqrt(MSE));
                              subplot(3,3,(i-1)*3 + j);
                              imshow(x2)
                              title(['win size = ',num2str(winsize(i)),' & \sigma = ',num2str(sigma(j)) ...
                                ' MSE = ',num2str(MSE),' PSNR = ',num2str(PSNR) ]);
                            end
                          end
                          سلام.ممنونم
                          برنامه برای بعضی سیگما ها درست جواب میده و عددی که خطی به ما میده کوجک هست(مثلا 50دسی بل رو به 0.15تبدیل میکنه).اما برای برای بعضی سیگما هابرعکسه چرا oo:(5دسی بل رو به عدد29!!تبدیل میکنه!!)
                          اصلا فرمول تبدیل دسی بل به خطی اینه:
                          10^(dB/10)
                          که فکر کنم شما هم مشابه همین فرمول رو تو برنامه ت نوشتی(stdچیه؟)درسته؟
                          این در حالی است که همین فرمول رو برای 50دسی بل اعمال کنیم،جواب10بتوان 5میده!این که بد تره!
                          دارم به این نتیجه میرسم که اون مقاله الکی یک عددی رو گفته.30دسی بل خیلیه :eek:

                          دیدگاه


                            #43
                            پاسخ : کاهش نویزتصویر توسط ویولت

                            کمک :cry:
                            من مقالات دیگه رو هم نگاه کردم سیگمایی که به نویز اضافه میشده رو اعدادبین10تا 90میداده.مقالات هم از مقالات science direct بوده.ولی این سیگما رو بصورت عدد داده،نه بر حسب دسی بل.
                            چجوری همچین نویز بزرگی میشه اضافه کرد اخه :angry:

                            دیدگاه


                              #44
                              پاسخ : کاهش نویزتصویر توسط ویولت

                              نوشته اصلی توسط hasting_m
                              کمک :cry:
                              من مقالات دیگه رو هم نگاه کردم سیگمایی که به نویز اضافه میشده رو اعدادبین10تا 90میداده.مقالات هم از مقالات science direct بوده.ولی این سیگما رو بصورت عدد داده،نه بر حسب دسی بل.
                              چجوری همچین نویز بزرگی میشه اضافه کرد اخه :angry:
                              پاسخ :اعدادی که مقالات برای واریانس دادند کاملا درسته.
                              برای تبدیلش هم نیازی نیست اصلا برنامه ای بنویسیم.
                              فقط باید عدد سیگمایی که مقاله داده رو در رابطه ی روبرو قرار بدیم:
                              2^(255/سیگما)=واریانسی که در برنامه قرار میدهیم
                              رابطه فوق در صورتی برقرار هست که بالاترین سطح شدت تصویر 255باشد.
                              تو کتاب پردازش تصویر نوشته بود
                              باتشکر از خودم :applause:

                              دیدگاه


                                #45
                                پاسخ : کاهش نویزتصویر توسط ویولت

                                سلام.برای بررسی روش رفع نویز از SNR,MSE استفاده می کنیم.حالا من میبینم اونایی کهSNR بالاتری دارند،تصویرشون مات تر هست! یعنی درسته نویز کمتری دیده میشه اما تصویر خیلی نرم و مات شده.
                                1)مبنایی که میگیم فلان روش نویز رو بهتر رفع کرده چی هست؟منظورم اینه تصویری که مات هست،رو میگیم نویز رو بهتر گرفته؟؟یا تصویری که واضح هست اما نویز توش بوضوح دیده میشه؟ oo:
                                2)آیا SNR معیار مناسبیه برای اینکار؟بهتر از این معیاری هست؟

                                دیدگاه

                                لطفا صبر کنید...
                                X