;//cvMatchShapes函数参数(轮廓1,轮廓2,方法);//的哥个轮廓同上(HU距保存在mb中);//方法参数有3个 参数分别是1,2,3 三种计算方法测试图片:

#include

#include

#include

#include

#include

/*

*函数功能:获取输入图像 的轮廓

*

*输入:

*srcIn : 单通道图像

*

*返回:

*CvSeq* : 存储轮廓信息

*

*/

CvSeq* getImageContour(IplImage* srcIn){

IplImage* src;

src = cvCreateImage(cvGetSize(srcIn),8,1);

//拷贝图像

cvCopy(srcIn,src);

//创建空间

CvMemStorage* mem = cvCreateMemStorage(0);

//结构体 (mem和seq属于同一个地址)

CvSeq* seq;

if(!mem){

printf("mem is null");

}

//二值化图像

cvThreshold(src,src,100,255,0);

//计算图像轮廓 计算后的轮廓信息不能释放 在后面需要用到

cvFindContours(src,mem,&seq,sizeof(CvContour),CV_RETR_CCOMP);

//释放图像空间

cvReleaseImage(&src);

//返回轮廓信息

return seq;

}

int main(int argc, char* argv[]){

//加载图像1

IplImage* src1 = cvLoadImage("C:\\Users\\zxl\\Desktop\\1.png",CV_LOAD_IMAGE_GRAYSCALE);

//获取图像1的轮廓

CvSeq* contour1;

contour1 = getImageContour(src1);

//加载图像2

IplImage* src2 = cvLoadImage("C:\\Users\\zxl\\Desktop\\3.png",CV_LOAD_IMAGE_GRAYSCALE);

//获取图像2的轮廓

CvSeq* contour2;

contour2 = getImageContour(src2);

//进行比对 -- 比较这两个轮廓所对应的HU矩的距离 有多远

double result;

//cvMatchShapes函数参数(轮廓1,轮廓2,方法)

//计算第一个轮廓的普通矩和中心距 , 然后计算这个矩形的HU矩(HU距的7个数值保存在ma的数组里)

//的哥个轮廓同上(HU距保存在mb中)

//然后比较这两个HU距的相似性

//方法参数有3个 参数分别是1,2,3 三种计算方法

result = cvMatchShapes(contour1,contour2,1);

//输出结果 结果越小 相似度越高

printf("result is %f \n",result);

//释放轮廓存储空间

cvReleaseMemStorage(&contour1->storage);

cvReleaseMemStorage(&contour2->storage);

//释放图像空间

cvReleaseImage(&src1);

cvReleaseImage(&src2);

return 0;

}

java opencv 人脸相似度,opencv 比较两张图的相似度相关推荐

  1. OpenCV学习笔记——判断两张图的相似度

    判断两张图的相似度 方法 直方图对比法 ORB算法 实验 1.直方图对比法 参考如何使用OpenCV3直方图方法进行人脸相似度对比 因为我的环境是VS2010+OpenCV2.4.8,所以在原版的基础 ...

  2. Python笔记-使用SSIM找两张图不同及使用Opencv显示

    运行截图如下: 这里有几点要注意的: ①对比两张图片的函数SSIM具体是structural_similarity: Ⅰ:第一个参数和第二个参数是要对比的两张图片: Ⅱ:参数中有个full,默认为Tr ...

  3. 【OpenCV 例程200篇】17. 两张图像的渐变切换

    [OpenCV 例程200篇]17. 两张图像的渐变切换 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 函数 cv2 ...

  4. 如何比较两幅图的相似度

    比较两幅图的相似度可以使用多种方法,以下是其中几种常用的方法: 1. 均方误差(MSE):将两幅图像的像素值逐个进行比较,计算均方误差.均方误差越小,表示两幅图像越相似. 以下是使用 OpenCV 在 ...

  5. python之对比两张图像的相似度

    python之图像背景识别 本着结合实际工作,实际落地并已应用的态度去码文. python之对比两张图像的相似度 需求:在某个手机端项目中,有多个页面图片,但每个图片都做了相应的修改,由于这种图片非常 ...

  6. Android 应用性能优化(5)---用两张图告诉你,为什么你的App会卡顿?

    用两张图告诉你,为什么你的App会卡顿? Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? 知道Android究竟是如何在屏幕上显示我们期望的 ...

  7. MATLAB代码: 合并两张图

    MATLAB 合并两张图,要求大小相同的图,我这里合并两张相同的图. image = imread('docia_one.png') %读取图片 c = [image, image] %图像拼接到矩阵 ...

  8. 两张图搞定IJK源码

    IJK源码两张图就可以搞定,一张是IJK从播放到停止的代码流程图,一张是IJK的线程模型图

  9. python把两张图不同之处差异显示出来

    把两张图不同之处差异显示出来 原讨论帖, https://bbs.csdn.net/topics/396114473 最后找到了帖子的原帖, https://www.cnblogs.com/botoo ...

  10. Origin使两张图重叠展示在一张图上

    目录 1.先将两张图的坐标轴修改为相同. 2.删去其中一个图的图例.坐标轴等,仅保留曲线.左轴和下轴的刻度线标签.轴线和刻度线均把显示关闭.并用Delete删去坐标轴名称. 3.选中图形,Ctrl+C ...

最新文章

  1. 中式古建筑su模型大全
  2. Hadoop安装教程_分布式集群
  3. c#写字板实现加粗功能_Windows 7中写字板和绘画中的新功能
  4. python编程胡牌将是什么意思_python麻将和牌算法
  5. linkscrpit
  6. linux搭建ftp服务器可上传下载,通过linux系统搭建ftp服务然后使用filezilla客户端进行上传下载...
  7. 一行一个链接代码_小白写代码讨女朋友欢心,包教包会
  8. python多线程队列两组数据_python 多线程2-队列同步
  9. virtuoso根据原理图绘制版图并联接_Cadence教程2——反相器原理图仿真以及版图绘制...
  10. 腾讯加入QQ群 连接代码
  11. pthread_join()详解及实验
  12. 杭州十二条经典登山路线
  13. android通过经纬度获取地址,Android编程实现根据经纬度查询地址并对获取的json数据进行解析的方法...
  14. 学报格式和论文格式一样吗_工大学报论文格式要求
  15. 用于将 InfoPath 2007 集成到 Visual Studio 2005 中的 InfoPath Designer API 概述
  16. Android RadarScanView雷达扫描控件
  17. 电阻的单位字符及读法
  18. 如何快速更改电脑ip地址【图文教程】?
  19. Java2EE体系结构图
  20. Tool for developer

热门文章

  1. 践行快乐音乐教育 郎朗The ONE全球公益钢琴盛典传递音乐力量!
  2. VC6.0下配置opengl
  3. ubuntu中 tftp 服务器搭建 tftpd-hpa
  4. 开局一张图教你记住HTTP基本格式
  5. 知乎网软件测试和识,扩容检测工具_闪迪东芝内存卡_金士顿内存卡 知乎
  6. (12) 基于深度时空残差网络ResNet的城市交通流预测
  7. python 等差素数列
  8. ImportError: Couldn‘t import Django. Are you sure it‘s installed and available on your PYTHONPATH en
  9. 数据库课程设计:医院信息管理系统(pycharm+MySQL)
  10. 百度Apollo计划跟踪:Apollo 3.0前言