OpenCVで画像処理を行った結果、平均2乗誤差(
Mean Square Error)を計算したい場合がある。
愚直に一画素ごとに計算していたが、OpenCV 2 プログラミングブック p194に簡単に計算するコードが記載さている
cv::Mat gray1 , gray2;
gray1.convertTo(gray16s1, CV_16S);
gray2.convertTo(gray16s2, CV_16S);
gray16s1 -= gray16s2;
cv::Scalar s = sum(gray16s1.mul(gray16s1));
double mse = s[0] / gray16s1.rows / gray16s1.cols;
蛇足
CV のMSE は Microsoft Security Essentials ではない
0 件のコメント:
コメントを投稿