محاسبه PSNR تصویر - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

محاسبه PSNR تصویر

0 امتیاز

سلام به دوستان.

من یک تصویر دارم که آن را با jpg به ضرایب مختلف فشرده سازی می کنم حالاقصد دارم میزان PSNR(Power Signal Noise Ratio) تصویر را محاسبه کنم از چه رابطه ای باید استفاده کنم؟

 

سوال شده مهر 28, 1393  بوسیله ی hojat1 (امتیاز 875)   12 69 99

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

ابتدا اختلاف بین 2 تصویر را به روش mean square error محاسبه کنید.

mean square error

چون peak سیگنال به نویز هستش باید برای بیشترین ضربه در تصویر خاکستری مقدار 255 را انتخاب کنید.

psnr

 

#include <opencv2/core/core.hpp>
using namespace cv;
int main(){
  Mat img1;
  Mat img2;
  Mat dif_img = img1 - img2;
  Mat sq_img = dif_img * dif_img;
  double sum_val = sum(sq_img).valeu[0];
  double   MSE =  sum_val / img1.size().area();

  double PSNR = 10 * log(255*255/MSE);
}

 

پاسخ داده شده آبان 1, 1393 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
ویرایش شده دی 30, 1393 بوسیله ی haniye sarbazi
...