OpenCV学习
文章平均质量分 76
ForTheDream83
这个作者很懒,什么都没留下…
展开
-
OpenCV之感兴趣区域(ROI)
利用感兴趣区域实现两幅的图像融合的核心代码(图像加水印)Mat logo=imread("logo.jpg",1);Mat src = imread("test.jpg",1);//logo图像略小Mat ROIImage=src(Rect(lefttop_x,lefttop_y,logo.cols.logo.rows));//加权融合addWeighted(ROIIma原创 2013-01-24 22:43:40 · 1041 阅读 · 0 评论 -
OpenCV之图像形态学运算
图像形态学运算主要包括一下几类: 腐蚀和膨胀这两类形态学运算的原理性解释网上很多,稍微搜索一下就可以获得比较全面的了解,而且在实际应用中很少有单独使用腐蚀或膨胀运算的,通常是将两者组合起来使用,也就是先腐蚀后膨胀的开运算、先膨胀后腐蚀的闭运算以及两者相减的形态学梯度运算,其中,开运算主要用来去除图像中的孤立点;闭运算则可用来填充物体内细小空洞、连接邻近连通域、平滑其边界,同时又不明显改变原创 2013-01-27 23:07:23 · 1338 阅读 · 0 评论 -
OpenCV之像素访问优化
优化基本原则:1.减少多层循环的使用2.尽量使用位运算基于以上原则,可将之前几篇博文中介绍的Color Reduce算法代码改为:voidcolorReduce5(Mat&image,intn=6) {intnl=image.rows;intnc=image.cols;intdiv= (int)pow(2.0f,n);ucharmask= 0原创 2013-01-23 22:21:47 · 660 阅读 · 0 评论 -
OpenCV之像素访问(3)
通过迭代器访问图像数据说明:此种方法虽然简单,但是执行效率较差,会在后续的博文中进行对比还是以Color Reduce算法为例(通道数目为3):voidcolorReduce4(Mat&image,intn=6) {intdiv= (int)pow(2.0f,n);ucharmask= 0xFFn;Mat_Vec3b>::iteratorit= im原创 2013-01-23 22:13:40 · 346 阅读 · 0 评论 -
OpenCV之像素访问(2)
通过指针访问图像数据(1)通过uchar *data=src.ptr(line_number);获取所要处理的像素点所在行数(2)data[i]就可以获得图像中某一行中第j行、第i/3个像素的第i%3通道的灰度值,其中:0=image.cols*image.channels()例程 :Color Reduce算法#include"opencv2/hi原创 2013-01-23 21:42:34 · 552 阅读 · 0 评论 -
OpenCV之像素访问(1)
方法1.直接访问法如果图像为单通道 src.at(j,i)如果图像为三通道 src.at(j,i)[channel]例程:图像中添加椒盐噪声#include"opencv2/highgui/highgui.hpp"#include"opencv2/core/core.hpp"#includeusingnamespacecv;usingnamesp原创 2013-01-22 22:54:51 · 490 阅读 · 0 评论 -
OpenCV之图像锐化
图像锐化使用的是拉普拉斯变换核函数,表达式为kernel={ 0 -1 0 -1 5 -1 0 -1 0 }代码为:#include"opencv2/highgui/highgui.hpp"#include"opencv2/core/core原创 2013-01-24 22:37:03 · 6986 阅读 · 0 评论 -
OpenCV之鼠标和键盘事件处理
之前介绍的直方图反向投影算法,在编码过程中是通过在查询图像中设置感兴趣区域,作为模板图像,并直观,实现方法比较挫,于是想到了OpenCV中是否提供了鼠标和键盘事件的控制方法,通过鼠标事件任意选择感兴趣区域作为模板图像,结果到网上一搜索,发现OpenCV中果然提供了相关接口,但是网上提供的例程多数是基于C语言接口的,使用的图像容器还是比较早版本的IplImage,针对Mat容器的还比较少,于是就参考原创 2013-01-28 22:30:15 · 6906 阅读 · 1 评论 -
OpenCV之彩色直方图反向投影(图像相似性检测)
前面已经介绍了如何使用灰度直方图进行图像相似性检测的方法,但从测试结果来看结果并不令人满意,相关实现和测试结果请见我的另一篇Blog :http://blog.csdn.net/forthcriminson/article/details/8543781 现在我们考虑利用图像的色彩信息来对其进行优化,简单的理解就是只有在图像3个通道都具有一定相似性的位置,才认为两者是相似的,利用O原创 2013-01-27 20:51:54 · 3380 阅读 · 1 评论 -
OpenCV之灰度直方图反向投影(图像相似性检测)
直方图方向投影基本原理:现有两张图像,均为灰度图像,其中一张图像尺寸大于等于另一张,其中尺寸较大的图像作为查询图像,另一张为模板图像,直方图反向投影变换的基本原理是:(1)从尺寸较大的图像的左上角(0,0)开始,切割一块与较小图像尺寸一致的临时图像;(2)计算临时图像的直方图;(3)用临时图像的直方图和尺寸较小的图像的直方图对比,对比结果记为c;(4)直方图对比结果c,就是结果原创 2013-01-26 01:08:08 · 6073 阅读 · 0 评论 -
感知哈希算法(Perceptual hash algorithm)的OpenCV实现
1.前言 目前“以图搜图”的引擎越来越多,可参考博文: http://blog.csdn.net/forthcriminson/article/details/8698175 此篇博文中列出了很多“以图搜图”的引擎,之前很好奇他们是如何进行检索的,偶然间看到了一篇博客,上面说Google和Tineye主要利用的算法是感知哈希算法(Pe原创 2013-03-27 23:49:40 · 12169 阅读 · 1 评论