opencv 直方图对比
来源:互联网 发布:免费升级至windows 10 编辑:程序博客网 时间:2024/05/19 03:16
Mat srcImage = imread("b6.png");
Mat compareImage = imread("b5.png");
// imshow("【原图】", srcImage);
// imshow("【需要比较的图像】", compareImage);
//在比较直方图时,最佳操作是在HSV空间中操作,所以需要将BGR空间转换为HSV空间
Mat srcHsvImage;
Mat compareHsvImage;
cvtColor(srcImage, srcHsvImage, CV_BGR2HSV);
cvtColor(compareImage, compareHsvImage, CV_BGR2HSV);
//采用H-S直方图进行处理
//首先得配置直方图的参数
MatND srcHist, compHist;
//H、S通道
int channels[] = { 0, 1 };
int histSize[] = { 30, 32 };
float HRanges[] = { 0, 180 };
float SRanges[] = { 0, 256 };
const float *ranges[] = { HRanges, SRanges };
//进行原图直方图的计算
calcHist(&srcHsvImage, 1, channels, Mat(), srcHist, 2, histSize, ranges, true, false);
//对需要比较的图进行直方图的计算
calcHist(&compareHsvImage, 1, channels, Mat(), compHist, 2, histSize, ranges, true, false);
//注意:这里需要对两个直方图进行归一化操作
normalize(srcHist, srcHist, 0, 1, NORM_MINMAX);
normalize(compHist, compHist, 0, 1, NORM_MINMAX);
imshow("【原图】", srcHist);
//对得到的直方图对比
double g_dCompareRecult = compareHist(srcHist, compHist, 0);
cout << "方法一:两幅图像比较的结果为:" << g_dCompareRecult << endl;
g_dCompareRecult = compareHist(srcHist, compHist, 1);
cout << "方法二:两幅图像比较的结果为:" << g_dCompareRecult << endl;
g_dCompareRecult = compareHist(srcHist, compHist, 2);
cout << "方法三:两幅图像比较的结果为:" << g_dCompareRecult << endl;
g_dCompareRecult = compareHist(srcHist, compHist, 3);
cout << "方法四:两幅图像比较的结果为:" << g_dCompareRecult << endl;
Mat compareImage = imread("b5.png");
// imshow("【原图】", srcImage);
// imshow("【需要比较的图像】", compareImage);
//在比较直方图时,最佳操作是在HSV空间中操作,所以需要将BGR空间转换为HSV空间
Mat srcHsvImage;
Mat compareHsvImage;
cvtColor(srcImage, srcHsvImage, CV_BGR2HSV);
cvtColor(compareImage, compareHsvImage, CV_BGR2HSV);
//采用H-S直方图进行处理
//首先得配置直方图的参数
MatND srcHist, compHist;
//H、S通道
int channels[] = { 0, 1 };
int histSize[] = { 30, 32 };
float HRanges[] = { 0, 180 };
float SRanges[] = { 0, 256 };
const float *ranges[] = { HRanges, SRanges };
//进行原图直方图的计算
calcHist(&srcHsvImage, 1, channels, Mat(), srcHist, 2, histSize, ranges, true, false);
//对需要比较的图进行直方图的计算
calcHist(&compareHsvImage, 1, channels, Mat(), compHist, 2, histSize, ranges, true, false);
//注意:这里需要对两个直方图进行归一化操作
normalize(srcHist, srcHist, 0, 1, NORM_MINMAX);
normalize(compHist, compHist, 0, 1, NORM_MINMAX);
imshow("【原图】", srcHist);
//对得到的直方图对比
double g_dCompareRecult = compareHist(srcHist, compHist, 0);
cout << "方法一:两幅图像比较的结果为:" << g_dCompareRecult << endl;
g_dCompareRecult = compareHist(srcHist, compHist, 1);
cout << "方法二:两幅图像比较的结果为:" << g_dCompareRecult << endl;
g_dCompareRecult = compareHist(srcHist, compHist, 2);
cout << "方法三:两幅图像比较的结果为:" << g_dCompareRecult << endl;
g_dCompareRecult = compareHist(srcHist, compHist, 3);
cout << "方法四:两幅图像比较的结果为:" << g_dCompareRecult << endl;
阅读全文
0 0
- OpenCV编程->对比直方图
- 【OpenCV】直方图对比
- opencv直方图对比示例
- opencv 直方图对比
- opencv 直方图对比
- 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图
- 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图
- 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图
- 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图
- 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图
- 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图
- 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图
- 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图
- 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图
- 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图
- 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图
- 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图
- 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图
- 工资要达到多少,才能向银行贷款20万?
- adb检测不到真机或者模拟器解决方案
- [C#基础]说说lock到底锁谁?
- 第九周 【项目2
- Leetcode算法学习日志-561 Array Partition I
- opencv 直方图对比
- 微信h5,背景音乐自动播放
- JAVA字符串的比较
- 自执行匿名函数
- 如何将多个word文档的内容合并到一个文档 多html转word
- 阿里巴巴面试题集锦
- Nginx实践
- 关于React的setState的回调函数
- IDE intellij报错(点击File—setting页面无反应并且出现IDE error occored)