




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Hu矩阵:旋转,缩放和平移不变性。(1)hu矩的概念在连续情况下,图像函数为,那么图像的p+q阶几何矩(标准矩)定义为:p+q阶中心距定义为:其中和代表图像的重心,对于离散的数字图像,采用求和号代替积分:和分别是图像的高度和宽度;归一化的中心距定义为:;其中利用二阶和三阶归一化中心矩构造了7个不变矩:这7个不变矩构成一组特征量,Hu.M.K在1962年证明了他们具有旋转,缩放和平移不变性。实际上,在对图片中物体的识别过程中,只有和不变性保持的比较好,其他的几个不变矩带来的误差比较大,有学者认为只有基于二阶矩的不变矩对二维物体的描述才是真正的具有旋转、缩放和平移不变性(和刚好都是由二阶矩组成的)。不过我没有证明是否是真的事这样的。由Hu矩组成的特征量对图片进行识别,优点就是速度很快,缺点是识别率比较低,我做过手势识别,对于已经分割好的手势轮廓图,识别率也就30%左右,对于纹理比较丰富的图片,识别率更是不堪入眼,只有10%左右。这一部分原因是由于Hu不变矩只用到低阶矩(最多也就用到三阶矩),对于图像的细节未能很好的描述出来,导致对图像的描述不够完整。Hu不变矩一般用来识别图像中大的物体,对于物体的形状描述得比较好,图像的纹理特征不能太复杂,像识别水果的形状,或者对于车牌中的简单字符的识别效果会相对好一些。(2)opencv 的实现计算hu矩普通矩和中心矩的计算Void cvMoments(const CvArr*arr,CvMoments*moments, int binary = 0)arr:图像(1-通道或3通道,有COI设置)或者多边形(点的CvSeq或一族点的向量)moments:返回矩阵态度接口的指针binary(仅对图像)如果标识为非0,则所有零像素点被当成零,其它的被看成1.Double cvGetSpatialMoment(&moment, p, q);/得到普通矩Double cvGetCentralMoment(&moment, p, q);/ 得到中心矩计算hu矩Void cvGetHuMoment(CvMoments *moment,CvHuMoments *humoment)代码:1. IplImage*src=cvCreateImage(cvSize(10,10),8,1);2. cvZero(src);3. for(intyy=0;yy5;yy+)4. 5. for(intxx=0;xx5;xx+)6. 7. cvSetReal2D(src,yy,xx,255);8. 9. 10. doublem00,m10,m01;11. CvMomentsmoment;12. cvMoments(src,&moment,2);/第三个像素点非0,则所有的0像素点被当做0,非0像素点被当做113. m00=cvGetSpatialMoment(&moment,0,0);/得到普通矩14. m10=cvGetSpatialMoment(&moment,1,0);15. m01=cvGetSpatialMoment(&moment,0,1);16. doubleu20;17. u20=cvGetCentralMoment(&moment,2,0);/得到中心矩18. CvHuMomentshumoment;19. cvGetHuMoments(&moment,&humoment);20. doublehu1=humoment.hu1;/得到hu矩21. couthu1endl;OPENCV还提供了输入图像直接进行hu矩匹配的函数,返回的是两个图像或轮廓之间hu矩的相似度:double cvMatchShapes(const void*object1,const void*object2,int method,doubleparameter=0);计算两个轮廓之间hu矩相似程度:cppview plaincopy1. #include2. #includecv.h3. #includecxcore.h4. #includehighgui.h5. usingnamespacestd;6. 7. CvSeq*getImageContours(CvArr*src)8. 9. cvThreshold(src,src,100,255,CV_THRESH_BINARY);10. CvMemStorage*storage=cvCreateMemStorage(0);11. CvSeq*contours;12. cvFindContours(src,storage,&contours);13. returncontours;14. 15. intmain()16. 17. IplImage*src1=cvLoadImage(,0);18. CvSeq*contours1=getImageContours(src1);/得到src1的轮廓19. IplImage*src2=cvLoadImage(,0);20. CvSeq*contours2=getImageContours(src2);21. doubleresult=cvMatchShapes(contours1,contours2,1);/根据输入的图像或轮廓来计算它们的hu矩的相似度22. coutresultstorage);24. cvReleaseMemStorage(&contours1-storage);25. cvReleaseImage(&src1);26. cvReleaseImage(&src2);27. return0;28. (3)案例:给出了10副图片,其中2.jpg和11.jpg非常相似,我们代码是要实现的在311.jgp找到与2.jpg最相似的图片。代码:cppview plaincopy1. #include2. #include3. #include4. #includecv.h5. #includecxcore.h6. #includehighgui.h7. usingnamespacestd;8. 9. intmain()10. 11. IplImage*srcColor=cvLoadImage(E:study_opencv_videolesson15_32.jpg,1);12. IplImage*src=cvCreateImage(cvGetSize(srcColor),8,1);13. cvCvtColor(srcColor,src,CV_BGR2GRAY);14. if(!src)15. 16. coutNoImageLoadendl;17. 18. inti;19. stringstreamss;20. stringpath;21. stringstr;22. IplImage*dst=NULL,*dstColor;23. charc256;24. doubleresult,maxResult=1000*256*256;25. IplImage*resultMap=NULL;26. for(i=3;i12;i+)27. 28. path=E:study_opencv_videolesson15_3;29. ss.clear();30. ssstr;32. str+=.jpg;33. path+=str;34. ss.clear();35. ssc;37. dstColor=cvLoadImage(c,1);38. dst=cvCreateImage(cvGetSize(dstColor),8,1);39. cvCvtColor(dstColor,dst,CV_BGR2GRAY);40. result=cvMatchShapes(src,dst,1);41. if(maxResultresult)42. 43. resultMap=cvCreateImage(cvGetSize(dstColor),8,3);44. maxResult=result;45. cvCopy(dstColor,resultMap);46. 47. 48. cvNamedWindow(srcColor,0);49. cvNamedWindow(resultMap,0);50. cvShowImage(resultMap,resultMap);51. cvShowImage(srcColor,srcColor);52. cvWaitKey(0);53. cvReleaseImage(&src);54. cv
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 游戏服务器监控软件创新创业项目商业计划书
- 野生动物友好型城市发展创新创业项目商业计划书
- 网红学生兴趣培养创新创业项目商业计划书
- 自动驾驶车辆仿真测试平台创新创业项目商业计划书
- 2025年新能源汽车充电设施布局与能源互联网融合研究报告
- 2025年工业互联网平台同态加密技术在工业大数据分析中的应用报告
- 2025年生态循环农业技术模式探索:经济效益评估与路径选择
- 2025年度城市燃气管道改造工程社会影响评估分析报告
- 民法典的课件模板
- 河南省巩义市市直高中2026届化学高一上期末综合测试试题含解析
- 体育公园运营可行性方案
- 《直升机构造与系统》课件-直升机的类型
- 成都第四十九中学数学新初一分班试卷含答案
- 《平方根》(第1课时)示范公开课教学设计【北师大版八年级数学上册】
- 《信息检索与处理(修订版)》课件下 第2单元第二课 分析信息-第3单元 综合探究实践活动
- 楼盘融资商业计划书
- 物业费催费技巧(干货版)
- 2023-2024学年江苏省南通市如皋市重点中学八年级(上)第二次月考数学试卷(含解析)
- 脑梗塞个案护理查房
- 2013年天津公务员考试职位表
- 矿山安全供电讲义
评论
0/150
提交评论