اطلاعیه

Collapse
No announcement yet.

انتخاب تابع مناسب برای برنامه (شباهت دو عکس)

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

    #16
    پاسخ : انتخاب تابع مناسب برای برنامه (شباهت دو عکس)

    سلام ..

    یکی از کتابخانه های خیلی خوبی که برای این منظور (--بررسی کیفیت تصویر--) وجود داره؛ IQA هست، بخصوص که برای OpenCV بسیار مناسب هست .. میتونید از این کتابخانه استفاده کنید .. بعلاوه؛ در ایـن قسمت، مثالی هست که شاید خیلی مفید باشه بررسی اون .. پیروز باشید ..
    فایل های پیوست شده
    دوستان! مدتی کمتر به سایت میام ..

    دیدگاه


      #17
      پاسخ : انتخاب تابع مناسب برای برنامه (شباهت دو عکس)

      ممنون از کتابخونهٔ مفیدی که معرفیآ‌ کردید...youtube و فکر میآ‌کنم تمام فرومآ‌های فعال دنیا رو سر زدم و در مورد نحوه add کردنش به visual studio 2010 سوال کردم اما تا این لحظه جوابیآ‌ نگرفم..مثل همیشه اگه راهنمایی در این مورد هم دارید ممنون میشم در اختیارم بذارید.

      ممنون

      دیدگاه


        #18
        پاسخ : انتخاب تابع مناسب برای برنامه (شباهت دو عکس)

        سلام. کسیآ‌ میآ‌دونه منظور از stride اینجا چیه؟ این code برای تصاویر رنگیه یا gray-scale؟

        http://tdistler.com/iqa/mse_8c_source.html

        دیدگاه


          #19
          پاسخ : انتخاب تابع مناسب برای برنامه (شباهت دو عکس)

          سلام ..

          OpenCV بر روی سیستم من نیست امــا به طور معمول؛ فایل ها رو در بخشی که لایبرری های دیگه قرار دارن؛ قرار بدید و در قسمت هدر برنامه؛ این کتابخانه رو خیلی معمولی include کنید .. به احتمال خیلی زیاد، باید مشکلی پیش رو نباشه .. در مورد stride هم میتونید اطلاعات ایـن قسمت رو بررسی کنید .. اینکه تصویر رنگی باید باشه یا خاکستری؛ شاید به سرعت با تست برنامه بر روی هر دوی این احتمال ها؛ مشخص بشه .. پیروز باشید ..
          دوستان! مدتی کمتر به سایت میام ..

          دیدگاه


            #20
            پاسخ : انتخاب تابع مناسب برای برنامه (شباهت دو عکس)

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

            دیدگاه


              #21
              پاسخ : انتخاب تابع مناسب برای برنامه (شباهت دو عکس)

              سلام ..

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

              دیدگاه


                #22
                پاسخ : انتخاب تابع مناسب برای برنامه (شباهت دو عکس)

                سلام. PSNR رو به فایل ویدئوی گرفته شده از یک scene که همهآ‌چیز توش ثابت هست و آبجکتآ‌ها تکون نمیآ‌خورن (پس motion blur و نویز تقریبا برابر با صفرِ ) apply کردم اما جوابم با چیزی که انتظار داشتم کاملا برعکسِ ! انتظار داشتم شیب نمودارم افزایشی باشه اما کاهشیِ ! از این plot نمیآ‌تونم نتیجه بگیرم که کیفیت سیگنالم بده چون کیفیت سیگنالم بهترین حالت ممکن رو داره... میآ‌تونم نتیجه بگیرم که psnr برای این assessing جواب نمیده و روش دیگهآ‌ای باید انتخاب کنم؟ مثلا آیا میآ‌تونم روی فرمول PSNR کار کنم و عوضش کنم بلکه جوابم اونیآ‌ بشه که میآ‌خوام؟ اگه بله، آیا بعدا میآ‌تونم به فرمولی که بدست آوردم اعتماد کنم؟ اگه نه کلا الان چه نتیجه اآ‌ی باید بگیرم؟!!

                دیدگاه


                  #23
                  پاسخ : انتخاب تابع مناسب برای برنامه (شباهت دو عکس)

                  نوشته اصلی توسط negin-bahadori
                  سلام به همه. لطفا اگه کد برای محاسیه ی PSNR دارید (++C) در اختیارم بذارید. ممنون
                  سلام
                  لینک های زیر رو چک کنید :
                  در c , c++ :
                  http://www.chasanc.com/old/psnr.htm
                  در opencv :
                  http://docs.opencv.org/doc/tutorials/gpu/gpu-basics-similarity/gpu-basics-similarity.html
                  http://echinocactus.blogspot.com/2009/02/psnr.html

                  دیدگاه


                    #24
                    پاسخ : انتخاب تابع مناسب برای برنامه (شباهت دو عکس)

                    سلام. من PSNR رو implement کردم... ممنون از وقتیآ‌ که گذاشتین.

                    دیدگاه


                      #25
                      پاسخ : انتخاب تابع مناسب برای برنامه (شباهت دو عکس)

                      سلام ..

                      خروجی PSNR یک مقدار عددی هست (--ضریب خطا--) .. شاید بهتر این باشه که دقیقتر توضیح بدید که چه چیزی رو plot میکنید و تعریف محورهای نمودارتون به چه صورت هستن و هدفتون از plot کردن دقیقا چه هست .. در اون صورت خیلی راحت تر میتونیم برای ادامه ی بحث تلاش کنیم .. بعلاوه؛ PSNR یک تعریف استاندارد در پردازش تصویر هست (--مثل تعریف هیستوگرام برای مثال یا بسیاری تعاریف دیگه--) و تغییر رابطه ی اون؛ (--خوب یا بد--) نام دیگه ای پیدا میکنه و دیگه PSNR نیست .. برای مثال، مقدار محاسبه شده ی PSNR برای دو تصویر زیر، 21.1251 دسیبل به عنوان خروجی، تحویل کاربر داده میشه .. در انتهای این پست هم مجموعه ای از پیاده سازی های مفید در نرم افزار MATLAB ضمیمه شده هستن در زمینه ی Image Error Measurement که میتونن امیدوارانه به جمعبندی مطالب این تاپیک کمک کنن .. پیروز باشید ..

                      Image Error Measurement

                      دوستان! مدتی کمتر به سایت میام ..

                      دیدگاه


                        #26
                        پاسخ : انتخاب تابع مناسب برای برنامه (شباهت دو عکس)

                        من قطعاً برای بررسی کیفیت عکس به یه رفرنس احتیاج دارم که عکس یا فایل ویدئویم رو با اون بررسیآ‌ کنم اما ویدئوی که من دارم روش کار میآ‌کنم رفرنسی براش ندارم(یعنیآ‌ نمیدونم توی چه حالتی بهترین کیفیت و داره..اما در کّل میدونم که کیفیت ویدئوم بالاست)! انگار راهیآ‌ ندارم جز اینکه هر فریم رو با فریم بعدیش یا قبلیش بررسیآ‌ کنم..این منطقیه؟

                        دیدگاه


                          #27
                          درخواست کمک در مورد همبستگی

                          سلام
                          من یه تصویر دارم که می دونم باندهای مختلفش همبستگی بالایی با هم دارند
                          بنابراین باید تصویر تفاضلش هم همبستگی بالایی داشته باشه یعنی اگه بیام یه تصویر دیگه بسازم که باند اولش همون باند اول تصویر قبلی باشه ( 1 همون 1) و بقیه باندها خودشون منهای قبلیشون ( باند 2 بشه 2 منهای 1 ، باند 3 بشه 3 منهای 2 به همین ترتیب تا آخر ) اینم باید همبستگیش بالا باشه .
                          اما جوابی که می گیرم درست نیست یعنی همبستگی تصویر جدیدم اصلا بالا نیست. نمی دونم مشکل کجاست اصلا کلیت همچین چیزی مگه درست نیست که بگیم اگه باندهای مجاور همبستگی بالایی داشته باشن تفاضلشون هم همبستگی بالایی داره؟ ( آخه اینو قبلا یکی از اساتید گفته بود به نظرم هم منطقی میومد)
                          من همبستگی تصویرم رو با corr2 محاسبه کردم- اینجوری که اگه تصویرم k باند داشته باشه

                          کد:
                          [m n p]=size(h)
                          for k=1:p-1
                          cu(k)=corr2(h(:,:,k),h(:,:,k+1));
                          end
                          x=1:p-1;
                          plot(x,cu)
                          نمودارشم یه خط تقریبا صاف روی یک شدکه نشون می داد همبستگی بالاست

                          برای تصویر تفاضلم اینجوری کردم

                          کد:
                          dh=zeros(size(h));
                          dh(:,:,1)=h(:,:,1);
                          for i=2:p
                          dh(:,:,i)=h(:,:,i)-h(:,:,i-1);
                          end
                          [m n p]=size(dh)
                          for k=1:p-1
                          cu(k)=corr2(dh(:,:,k),dh(:,:,k+1));
                          end
                          x=1:p-1;
                          plot(x,cu)
                          اما نتیجه مثل فبلی نشد یه شکل کج و کوله درآومد بجای اینکه صاف و تقریبا یک باشه!
                          نمی دونم کجا رو اشتباه کردم که اینجوری میشه
                          تصویر : matlab.zip - 446 KB
                          خواهش می کنم هر نظر و پیشنهادی دارید بگین هر چی به ذهنتون می رسه

                          دیدگاه


                            #28
                            پاسخ : انتخاب تابع مناسب برای برنامه (شباهت دو عکس)

                            سلام
                            کسی می دونه منظور از tournament size توی SSIM چیه؟

                            دیدگاه

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