资源简介
使用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=“ << psnr << endl;
cout << “\n“ << endl;
}
I1.convertTo(I1 CV_32F);
I2.convertTo(I2
- 上一篇:基于暗通道的去雾改进算法 -OPNCV C++
- 下一篇:QT编写的计算器小程序
相关资源
- 基于opencv的模板匹配代码
- opencv图片扫描以及校正
- opencv手部轮廓识别以及轨迹识别
- opencv2 3D标定.cpp
- 基于opencv漫水填充算法综合
- opencv激光中心线的提取
- OpenCV Computer Vision Application Programming
- 基于图割的图像分割OpenCV+MFC实现
- 识别魔方颜色
- opencv版俄罗斯方块源码
- VS2013 / MFC + OpenCV 2.4.9实现视频的播放
- 粒子滤波器+目标跟踪的C++实现,VS2
- 张平OpenCV算法精讲基于python和C++教材
- 虹膜识别开源代码OSIRIS4.1基于opencv
- Sift特征点提取与匹配opencv库
- YCbCr、混合高斯以及YCbCg肤色检测模型
- 光流法代码
- OpenCV打开摄像机显示在MFC窗口工程源
- 使用c++读取图像到二维矩阵
- 三维点云的圆柱面拟合
- MFC+OPENCV摄像机标定程序
- 基于特征脸的人脸识别MFC+OpenCV
- opencv图像处理MFC
- OPENCV人脸检测加角点检测并输出坐标
- FillHole.rar
- 计算BMP24位真彩色图像PSNR的C++小程序
- 道路提取算法 c++ opencv
- PCA代码实现详解
- opencv卡尔曼滤波
- SeamCarving opencv c++
评论
共有 条评论