#include<iostream>
using namespace std;
#include<opencv2/opencv.hpp>
#include<vector>
using namespace cv;//均方误差法图像质量评价(越大越差)
void Mse(Mat& src1, Mat& src2)
{double sum,sum1=0;int k = src1.rows * src2.cols;for (int i = 0; i < src1.rows; i++){uchar* image1 = src1.ptr(i);uchar* image2 = src2.ptr(i);for (int j = 0; j < src1.cols; j++){sum=pow((image1[j] - image2[j]), 2);sum1 += sum;}}double mse = sum1 / k;cout << mse << endl;}//峰值信噪比图像质量评价(越小越差)
void PSNR(Mat& src1, Mat& src2)
{double sum, sum1 = 0;int k = src1.rows * src2.cols;for (int i = 0; i < src1.rows; i++){uchar* image1 = src1.ptr(i);uchar* image2 = src2.ptr(i);for (int j = 0; j < src1.cols; j++){sum = pow((image1[j] - image2[j]), 2);sum1 += sum;}}double mse = sum1 / k;double l = pow(255, 2);double psnr = 10 * log10(l / mse);cout << mse << endl;cout << psnr << endl;
}int main()
{Mat src = imread("D:\\VC\\c++\\opencv源码\\opencv源码\\6.jpg",IMREAD_GRAYSCALE);//读入图像Mat src1 = imread("D:\\VC\\c++\\opencv源码\\opencv源码\\7.jpg",IMREAD_GRAYSCALE);//读入图像//判断是否为灰度图if (src.channels() == 1 || src.channels() == 1){Mse(src, src1);PSNR(src, src1);}else{cout << "您输入的图片不是灰度图" << endl;}system("pause");return 0;
}

判断图像质量的好坏(opencv)相关推荐

  1. 工业交换机如何判断性能的好坏呢?

    当前的智能控制系统和工厂自动化系统常常采用工业交换机完成工业控制任务,工业以太网的应用非常普及.对于工业交换机的选购,把握工业交换机的主要性能指标是关键.那么,工业交换机如何判断性能的好坏呢?接下来就 ...

  2. usb长包数据结束判断_如何判断南桥好坏 判断南桥好坏方法介绍【详解】

    南桥是电脑里重要的零部件,南桥芯片主要是负责I/O接口等一些外设接口的控制.IDE设备的控制及附加功能等等.那么南桥发生故障, 怎么判断南桥好坏 呢? 一.通过测PCI槽.AGP槽对地打阻值可判定南北 ...

  3. linux使用ping命令ping本机,Linux下使用ping命令判断网络的好坏

    简介 在Linux系统里面如果想判断网络的好坏,脑海中蹦出的第一个命令就是ping了. ping命令基本是最常用的网络命令,它可以用来测试与目标主机的连通性. ping通过发送ICMP ECHO_RE ...

  4. 从面试的这些细节就可判断公司的好坏

    经常有小伙伴问我,如何判断公司的好坏,我之前也提供了一些方法,从这八个方面判断入职公司是否靠谱.从这些方面进行公司好坏的判断固然可行,但是还有可能看走眼.今天呢,就教给大家一些细节判断方法,通过面试过 ...

  5. 测试护肤品好坏的软件,如何用简单工具判断护肤品的好坏

    原标题:如何用简单工具判断护肤品的好坏 美腻女性网讯:护肤品是MM日常保养不可少的东西,市场上.网上的护肤品品种繁多,鱼龙混杂,如何能够挑选到好的护肤品,日常生活中家里常见的简单工具就能够判断护肤品的 ...

  6. C语言检测电池,教你如何用万用表判断充电电池的好坏 - 全文

    一.充电电池 1.充电率(C-rate) C是Capacity的第一个字母,用来表示电池充放电时电流的大小数值. 例如:充电电池的额定容量为1100mAh时,即表示以1100mAh(1C)放电时间可持 ...

  7. 快速判断IC芯片好坏的方法

    快速判断IC芯片好坏的方法 在日常电路维修工作中如何准确判断电路中电源IC芯片的好坏,是修理电视.音响.录像设备的一个重要工作内容,如果判断不准确,不但花费了大量的精力,重点是集成电路中的故障依然存在 ...

  8. 判断交换机性能好坏的九个因素

    [文章摘要]把握千兆交换机的主要性能指标是关键,而判断交换机性能的好坏,需要从以下几方面的因素出发... 把握千兆交换机的主要性能指标是关键,而判断交换机性能的好坏,需要从以下几方面的因素出发: 转发 ...

  9. 四川网络推广介绍搜索引擎从哪几个方面判断网站质量好坏?

    众所周知,四川网络推广高质量的网站内容一直备受搜索引擎喜欢,但搜索引擎判断网站质量的好坏不止看网站的内容,还考量更多其他的方面,而且搜索引擎对质量网站的判断标准在不同阶段也是不同的,那么搜索引擎都从哪 ...

最新文章

  1. 大写的服,看完这篇你还不懂RocketMQ算我输
  2. 单元测试mock之mockito使用
  3. Spring Cloud 加盟重量级成员Spring Cloud Alibaba,打造更符合中国国情的微服务体系...
  4. Linux ALSA声卡驱动之六:ASoC架构中的Machine
  5. PAT甲级1064 Complete Binary Search Tree (30分):[C++题解]完全二叉搜索树BST
  6. 前端学习(2192):Promise的all的使用
  7. 无法初始化链接服务器 (null) 的 OLE DB 访问接口 Microsoft.Jet.OLEDB.4.0 的数据源对象。
  8. 前端开发面试题集锦(一)
  9. LeetCode113. 路径总和||
  10. matlab 双均线,双均线策略(CTA)
  11. 计算机投诉信英语作文,一封投诉信英语作文(精选5篇)
  12. 12306 流程解析
  13. 猪悟能论坛看贴工具(Discuz!7版) v1.0
  14. 计算机win是什么键,Windows键是哪个 电脑上的Win键在哪?【图文】
  15. python识别人脸多种属性_9种人脸情绪识别、22类人脸属性、 15类皮肤质量识别,竹间智能要让情感机器人更理解人...
  16. 预警神器来了,天翼大喇叭发出河道防汛强音
  17. 位(Bit)与字节(Byte)
  18. PCB多层板 : 磁通对消法有效控制EMC
  19. 【UE4】unlua往c++传动态委托参数的方式
  20. WIN10系统安装Ubuntu子系统并在此基础上安装ncl

热门文章

  1. 虚拟机为cenots配置网络
  2. 【CV】Pytorch一小时教程添加损失函数图像可视化训练过程
  3. pip install numpy/pandas时报错的解决方法
  4. android studio 的中文网站
  5. selenium 不同版本Driver
  6. 【转】Vue.js 2.0 快速上手精华梳理
  7. Android 5.0新特性之沉浸式状态栏
  8. UIPopoverController在ARC环境下用法注意
  9. shell与 .sh文件与 .bash文件
  10. 用PHP计算个税,PHP计算个人所得税示例【不使用速算扣除数】