ابتدا اختلاف بین 2 تصویر را به روش mean square error محاسبه کنید.
چون peak سیگنال به نویز هستش باید برای بیشترین ضربه در تصویر خاکستری مقدار 255 را انتخاب کنید.
#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);
}