資源簡介
使用OPENCV3.0.0 C++寫的測試兩幅圖片之間的對比指標 PSNR SSIM指標
代碼片段和文件信息
#include
#include
#include
using?namespace?std;
#include
#include
#include
using?namespace?cv;
void?main()
{
Mat?I1?=?imread(“D:/results/window-0.jpg“1);
Mat?I2?=?imread(“D:/results/window-1.jpg“?1);
double?psnrssim;
Mat?s1;
absdiff(I1?I2?s1);???????//?|I1?-?I2|AbsDiff函數是?OpenCV?中計算兩個數組差的絕對值的函數
s1.convertTo(s1?CV_32F);??//?這里我們使用的CV_32F來計算,因為8位無符號char是不能進行平方計算
s1?=?s1.mul(s1);???????????//?|I1?-?I2|^2
Scalar?s?=?sum(s1);?????????//對每一個通道進行加和
double?sse?=?s.val[0]?+?s.val[1]?+?s.val[2];?//?sum?channels
if?(sse?<=?1e-10)?//?對于非常小的值我們將約等于0
psnr?=?0;
else
{
double??mse?=?sse?/?(double)(I1.channels()?*?I1.total());//計算MSE
double?psnr?=?10.0*log10((255?*?255)?/?mse);
cout?<“PSNR=“?< cout?<“\n“?< }
I1.convertTo(I1?CV_32F);
I2.convertTo(I2
- 上一篇:基于暗通道的去霧改進算法 -OPNCV C++
- 下一篇:QT編寫的計算器小程序
評論
共有 條評論