اطلاعیه

Collapse
No announcement yet.

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

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

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

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

    دیدگاه


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

      نوشته اصلی توسط هـادی
      هر داده ای ویژگی های خودش رو داره به خاطر همین هم معمولاً از روش سعی و خطا استفاده میشه. در مورد روشهای ضابطه مند برای پیدا کردن آستانه اطلاعی ندارم، اگه موضوع کار و داده مشخص باشه مطالعه مقالات مرتبط، بهترین راه برای روشن شدن مسیر کارته. اگه استاد گفته امتحان کن، کار سختی نیست.
      سلام
      من اینو نوشتم.همینجوری ضرایب جزییات رو صفر میکنیم که من نوشتم؟؟
      این ابعاد c رو یک ماتریس که در یک ردیف هست نشون میده.بعد این c چه ربطی به جزییات و کلیات داره.؟؟آخه ابعاد a , h,v.dبا این رابطه ای نداره. :sad:
      تو helpمتلب نوشته بود که
      کد:
      C = [ A(N)  | H(N)  | V(N)  | D(N) | ... 
        H(N-1) | V(N-1) | D(N-1) | ... | H(1) | V(1) | D(1) ].
      یعنی اینا بصورت ستونی؟اون خط عمودی یعنی چی؟
      برنامه اینه
      [left]%recodec
      clear all
      clc
      y=imread('1.jpg');
      y1=y(:,:,1);l
      %
      imshow(y1,[])
      [c l]=wavedec2(y1,2,'haar');
      l
      size(c)
      %
      h=detcoef2('h',c,l,2);
      v=detcoef2('v',c,l,2);
      d=detcoef2('d',c,l,2);
      a=appcoef2(c,l,'haar',2);
      figure(2)
      subplot(2,2,1);
      imshow(a,[])
      subplot(2,2,2);
      imshow(h,[])
      subplot(2,2,3);
      imshow(v,[])
      subplot(2,2,4);
      imshow(d,[])
      %
      h=zeros(345,215);
      v=zeros(345,215);
      d=zeros(345,215);
      x=waverec2(c,l,'haar');
      figure(3)
      imshow(x)
      figure(4)
      imshow(a,[])
      [/left]

      دیدگاه


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

        سلام. خروجی I در دستور wavedec2 طول بردارهای (A(N تا (D(1 هست که اینها مقادیر تبدیل هستند که به صورت سطری درآمدن و در کنار هم قرار گرفتن.
        اگه تعداد سطوح تجزیه کمه، استفاده در دستور dwt راحت تره.
        در برنامه شما اصلاً هیچ تغییری در مقادیر تبدیل انجام نشده و تصویر بازسازی شده همون تصویر اصلیه.
        لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
        لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
        با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
        اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
        یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

        دیدگاه


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

          نوشته اصلی توسط hasting_m
          سلام
          من اینو نوشتم.همینجوری ضرایب جزییات رو صفر میکنیم که من نوشتم؟؟
          این ابعاد c رو یک ماتریس که در یک ردیف هست نشون میده.بعد این c چه ربطی به جزییات و کلیات داره.؟؟آخه ابعاد a , h,v.dبا این رابطه ای نداره. :sad:
          تو helpمتلب نوشته بود که
          کد:
          C = [ A(N)  | H(N)  | V(N)  | D(N) | ... 
            H(N-1) | V(N-1) | D(N-1) | ... | H(1) | V(1) | D(1) ].
          یعنی اینا بصورت ستونی؟اون خط عمودی یعنی چی؟
          برنامه اینه
          [left]%recodec
          clear all
          clc
          y=imread('1.jpg');
          y1=y(:,:,1);l
          %
          imshow(y1,[])
          [c l]=wavedec2(y1,2,'haar');
          l
          size(c)
          %
          h=detcoef2('h',c,l,2);
          v=detcoef2('v',c,l,2);
          d=detcoef2('d',c,l,2);
          a=appcoef2(c,l,'haar',2);
          figure(2)
          subplot(2,2,1);
          imshow(a,[])
          subplot(2,2,2);
          imshow(h,[])
          subplot(2,2,3);
          imshow(v,[])
          subplot(2,2,4);
          imshow(d,[])
          %
          h=zeros(345,215);
          v=zeros(345,215);
          d=zeros(345,215);
          x=waverec2(c,l,'haar');
          figure(3)
          imshow(x)
          figure(4)
          imshow(a,[])
          [/left]
          این آخرین دفعهآ‌ای بود که پستتون ویرایش شد. اگه بازم نسبت به استفاده از تگ کد بیآ‌توجهی کنید پستآ‌هاتون حذف میشن

          دیدگاه


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

            منتمنت

            دیدگاه


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

              نوشته اصلی توسط هـادی
              سلام. خروجی I در دستور wavedec2 طول بردارهای (A(N تا (D(1 هست که اینها مقادیر تبدیل هستند که به صورت سطری درآمدن و در کنار هم قرار گرفتن.
              اگه تعداد سطوح تجزیه کمه، استفاده در دستور dwt راحت تره.
              در برنامه شما اصلاً هیچ تغییری در مقادیر تبدیل انجام نشده و تصویر بازسازی شده همون تصویر اصلیه.
              سلام اره تغییر داده نشده ولی حدقل همون تصویر اصلی رو که باید بازسازی کنه؟
              خروجی ماتریس میداد و نه طول بردار :surprised:
              باDWT هم که مینوشتم همینجور یک صفحه سفید با نقاط سیاه نشون میداد
              :
              کد:
              CLC

              دیدگاه


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

                درسته، پارامتر خروجی دوم، در راهنمای متلب با شکل توضیح داده شده.
                برای نمایش تصویر خروجی باید مقادیر ماتریس درست اسکیل بشه رک http://www.eca.ir/forum2/index.php?topic=88622.msg547996#msg547996
                لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                دیدگاه


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

                  سلام.باز برنامه نویسی رو متوقف کردم تا متن سمینارمو بنویسم.تازگی دقت که کردم دیدم هر چی مقاله پیدا کردم مال2011به قبل بوده و بیشترش مال حدود10سال پیشه! :sad:
                  یعنی این موضوع بازسازی تصاویر نویزی با کمک موجک و روشهای فازی دیگه به بهینه رسیده و متوفق شده؟؟ :eek:
                  در این صورت پس این موضوع برای پایان نامه نمیتونه بدرد بخوره؟ :cry2: :cry:

                  دیدگاه


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

                    نوشته اصلی توسط هـادی
                    در مورد MRI اطلاع ندارم. چند تا از مقالات مرتبط رو ببینی متوجه میشی.
                    در مورد لبه های تصویر هم حدس میزنم که باید برعکس حذف نویز، جزئیات تقویت بشن چون لبه محلی از تصویره که تغییراتش زیاده و در قسمت فرکانس بالا (جزئیات) قرار می گیره.
                    4- فقط جزئیات. با این روشها آشنا نیستم.
                    5- برای تمام سیگنالهای جزئیات تمام مراحل، (باز هم امتحان کن ببین اگه فقط جزئیات مرحله آخر رو آستانه گذاری یا حذف کنی چه فرقی می کنه)
                    6- بستگی به ماهیت نویز داره، معمولاً نویز پهنای باند محدودی داره و فرکانسش هم بالاتر از سیگنال اصلیه، قسمتی که با محدوده فرکانسی سیگنال همپوشانی داره رو نمیشه کاری کرد (جز در حالتی که مدل نویز رو داشته باشیم) ولی قسمتی که خارج از باند فرکانسی سیگنال هست رو میشه حذف کرد.
                    7- در صورتی که مدل نویز (تابع تبدیل فرکانسی) رو داشته باشیم، با اعمال عکس این تبدیل میشه نویز رو جبران کرد (ربطی به ویولت نداره)، در غیر این صورت از دست دادن قسمتی از جزئیات غیر قابل اجتنابه.
                    سلام.
                    "زیرباند" چی هست؟
                    این سطح های تجزیه ی ویولت رو میگیم زیر باند؟؟
                    وقتی تجزیه انجام میدیم،در هر سطح H,V,D داریم
                    برای بازسازی میاییم این جزئیات رو در هر سطح تغییر میدهیم(یعنی یک آستانه بای سطح اول یکی برای سطح دوم و یکی سطح سوم)؟یا مثلااگر 3سطح تجزیه داریم،میاییم برای 3تاH و 3تاV و 3تاD بازسازی میکنیم؟ :cry:

                    دیدگاه


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

                      نوشته اصلی توسط hasting_m
                      سلام.
                      "زیرباند" چی هست؟
                      این سطح های تجزیه ی ویولت رو میگیم زیر باند؟؟
                      وقتی تجزیه انجام میدیم،در هر سطح H,V,D داریم
                      برای بازسازی میاییم این جزئیات رو در هر سطح تغییر میدهیم(یعنی یک آستانه بای سطح اول یکی برای سطح دوم و یکی سطح سوم)؟یا مثلااگر 3سطح تجزیه داریم،میاییم برای 3تاH و 3تاV و 3تاD بازسازی میکنیم؟ :cry:
                      به h , v, d که در هر سطح تجزیه وجود دارد یک زیرباند گفته می شود.که ما با استانه گذاری ضرایب این زیرباند ها رو دستکاری میکنیم.یعنی ابتدا با استانه گیری سخت،ضرایبی که کمتر از یک مقدار(آستانه)هستند رو صفر میکنیم و دوباره با ضرایب جدید بازسازی انجام می گیرد.
                      حالا من این برنامه رو نوشتم.اما تصویر بازسازی شده اش!،دقیقا همون تصویر نویزی هست که باید اصلاح بشه!!در حالی که استانه گذاری رو روش انجام دادم.چطور ممکنه؟؟ :angry:
                      کد:
                      %recodec
                      clear all
                      clc
                      y=imread('1.png');
                      y=rgb2gray(y);
                      imshow(y)
                      sigma=0.01
                      y1=imnoise(y,'gaussian',0,sigma);%mean=0&sigma=0.01%
                      figure(2)
                      imshow(y1,[])
                      [c l]=wavedec2(y1,3,'haar');
                      l
                      size(c)
                      %thresholding
                      thr=sigma*(2*log10(length(c))) 
                      %d2=detcoef(c,l,2);
                      %Q1=median(abs(d2))/.6745; ??? give thr very high!!?
                      c1=zeros(1,262144); %c1=NEW coeff after reconstruction
                      for i=1:length(c)
                        if abs(c(i))<=thr
                      c1(i)=0;
                        else if c(i)>thr
                            c1(i)=c(i)-thr;
                          else
                             c1(i)=c(i)+thr;
                          end
                        end
                      end
                      %reconstruction
                      x=waverec2(c1,l,'haar');
                      figure(4)
                      imshow(uint8(x))
                      
                      %k=imsubtract(x,y1); %????
                      %imshow(k)
                      %comparison
                      for i=1:256
                        for j=1:256
                      MSE=(1/256)*sum(sum((x(i,j)-y(i,j)).^2))
                        end
                      end
                      PSNR= 10*log10(255/MSE)^2

                      دیدگاه


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

                        معیارت برای انتخاب سطح آستانه چیه؟
                        کد:
                        % wavelet image denoise
                        %recodec
                        clear all
                        clc
                        y=imread('Lena.jpg');
                        % y=rgb2gray(y);
                        subplot(2,2,1);imshow(y);title('original image');
                        sigma=0.01
                        y1=imnoise(y,'gaussian',0,sigma);%mean=0&sigma=0.01%
                        subplot(2,2,2);imshow(y1,[]);title('noisy image');
                        [c l]=wavedec2(y1,3,'haar');
                        % l
                        % size(c)
                        %thresholding
                        % thr=sigma*(2*log10(length(c)))
                        thr=max(c)*0.025
                        %d2=detcoef(c,l,2);
                        %Q1=median(abs(d2))/.6745; ??? give thr very high!!?
                        c1=c; %c1=NEW coeff after reconstruction
                        for i=(l(1,1)*l(1,2)+1):length(c)
                          if abs(c(i))<=thr
                            c1(i)=0;
                          end
                        end
                        % end
                        %reconstruction
                        x=waverec2(c1,l,'haar');
                        subplot(2,2,3);imshow(uint8(x));title('denoised image');
                        %k=imsubtract(x,y1); %????
                        %imshow(k)
                        %comparison
                        for i=1:256
                          for j=1:256
                            MSE=(1/256)*sum(sum((x(i,j)-y(i,j)).^2));
                          end
                        end
                        MSE=sum( ((x(:)-double(y(:))).^2) )/256
                        PSNR= 10*log10(255/MSE)^2
                        لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                        لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                        با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                        اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                        یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                        دیدگاه


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

                          نوشته اصلی توسط هـادی
                          معیارت برای انتخاب سطح آستانه چیه؟
                          کد:
                          % wavelet image denoise
                          %recodec
                          clear all
                          clc
                          y=imread('Lena.jpg');
                          % y=rgb2gray(y);
                          subplot(2,2,1);imshow(y);title('original image');
                          sigma=0.01
                          y1=imnoise(y,'gaussian',0,sigma);%mean=0&sigma=0.01%
                          subplot(2,2,2);imshow(y1,[]);title('noisy image');
                          [c l]=wavedec2(y1,3,'haar');
                          % l
                          % size(c)
                          %thresholding
                          % thr=sigma*(2*log10(length(c)))
                          thr=max(c)*0.025
                          %d2=detcoef(c,l,2);
                          %Q1=median(abs(d2))/.6745; ??? give thr very high!!?
                          c1=c; %c1=NEW coeff after reconstruction
                          for i=(l(1,1)*l(1,2)+1):length(c)
                            if abs(c(i))<=thr
                              c1(i)=0;
                            end
                          end
                          % end
                          %reconstruction
                          x=waverec2(c1,l,'haar');
                          subplot(2,2,3);imshow(uint8(x));title('denoised image');
                          %k=imsubtract(x,y1); %????
                          %imshow(k)
                          %comparison
                          for i=1:256
                            for j=1:256
                              MSE=(1/256)*sum(sum((x(i,j)-y(i,j)).^2));
                            end
                          end
                          MSE=sum( ((x(:)-double(y(:))).^2) )/256
                          PSNR= 10*log10(255/MSE)^2
                          سلام.با استفاده از فرمولی که در مقالات وجود داشت آستانه رو انتخاب کردم.که بهش روش روش visu shrink میگند یا آستانه فراگیر.که در زیر رابطه ش رو گذاشتم.میخواستم تصویرشو بذارم اینجا نمیتونستم.browseنباید بشه مگه؟
                          http://upload7.ir/imgs/2014-04/31472158582101360424.png
                          بعد من که ازین فرمول استفاده کردم،توش سیگما،انحراف معیار نویز هست.
                          خب ازونجایی که من خودم نویز رو با انحراف معیار مشخصی که خودم! تعیین کردم،بهش اضافه کردم پس نیازی نیست ازون فرمولmedian(فرمول دومی) استفاده کنم؟؟
                          کمک :sad:

                          دیدگاه


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

                            درسته.
                            البته فرمول آستانه رو اشتباه نوشتی، درستش میشه این:
                            کد:
                            thr=sqrt(v*2*log(length(c)))
                            که v همون مقداری هست که به عنوان پارامتر در imnoise وارد کردی توجه کن که در این دستور v واریانسه که جذرش میشه انحراف معیار (سیگما)
                            و ln هم در متلب log میشه و log10 نباید استفاده میکردی.
                            به هر حال تأثیر چندانی نداشت.
                            لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                            لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                            با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                            اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                            یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                            دیدگاه


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

                              نوشته اصلی توسط هـادی
                              درسته.
                              البته فرمول آستانه رو اشتباه نوشتی، درستش میشه این:
                              کد:
                              thr=sqrt(v*2*log(length(c)))
                              که v همون مقداری هست که به عنوان پارامتر در imnoise وارد کردی توجه کن که در این دستور v واریانسه که جذرش میشه انحراف معیار (سیگما)
                              و ln هم در متلب log میشه و log10 نباید استفاده میکردی.
                              به هر حال تأثیر چندانی نداشت.
                              آها ممنون اصلاح شده بود.
                              با MSE و PSNR فهمیدم که تصویر بازسازی شده با این روش آستانه گیری، تغییراتی داشته اما خیلی ناچیز هست.که بدرد نمیخوره.
                              حالا روش های بعدی رو باید امتحان کنم.
                              "روش های تخمین نویز" رو میخوام .روش های خاصی هست یا باید از مقالات بازم پیدا بشه

                              دیدگاه


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

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

                                دیدگاه

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