在图像处理和与计算机视觉领域,兴趣点(interest points),或称作关键点(keypoints)、特征点(feature points) 被大量用于解决物体识别,图像识别、图像匹配、视觉跟踪、三维重建等一系列的问题。我们不再观察整幅图,而是选择某些特殊的点,然后对他们进行局部有的放矢的分析。如果能检测到足够多的这种点,同时他们的区分度很高,并且可以精确定位稳定的特征,那么这个方法就有使用价值。图像特征类型可以被分为如下三种:<1>边缘<2>角点 (感兴趣关键点)
漫水填充法是一种用特定的颜色填充联通区域,通过设置可连通像素的上下限以及连通方式来达到不同的填充效果的方法。漫水填充经常被用来标记或分离图像的一部分以便对其进行进一步处理或分析,也可以用来从输入图像获取掩码区域,掩码会加速处理过程,或只处理掩码指定的像素点,操作的结果总是某个连续的区域。所谓漫水填充,简单来说,就是自动选中了和种子点相连的区域,接着将该区域替换成指定的颜色,这是个非常有用的功能,经常用来标记或者分离图像的一部分进行处理或分析.漫水填充也可以用来从输入图像获取掩码区域,掩码会加速处
模板匹配是在一幅图像中寻找一个特定目标的方法。这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否“相似”,当相似度足够高时,就认为找到了我们的目标。程序中会用到 OpenCV 的函数包括:void matchTemplate( InputArray image, InputArray templ,
&nb
对输入的两张图像计算得到直方图H1与H2,归一化到相同的尺度空间,然后通过计算H1与H2之间的距离得到两个直方图的相似程度进而进行比较图像本身的相似度。OpenCV提供的比较方法有四种:直方图比较方法Correlation相关性比较Chi-Squra卡方比较Intersection十字交叉性Bhattacharyya distance巴氏距离直方图比较方法–相关性计算(CV_COMP_CORREL)如果等于1说明完全一致,为0就是不相关。直方图比较方法–卡方计算(CV_COMP_CHISQR)等
灰度直方图,RGB直方图,梯度直方图对于数据在一定范围之内,可以统计频率的都可以做直方图。图像直方图。是指对整个图像在灰度范围内的像素值(0-255)统计出现频率次数,据此生成的直方图成为图像直方图,直方图反映了图像灰度的分布情况,是图像的统计学特征。直方图均衡化是一种提高图像对比度的方法,拉伸图像灰度值范围。如何实现均衡化呢?通过重映射可以将图像灰度分布从一个分布映射到另一个分布,然后在得等映射后的像素值即可。API说明:equalizeHistory(InputArray src, //8位
重映射就是把一个图像中一个为之的像素放置到另一个图片指定位置过程。为了完成重映射过程有必要获得一些插值作为非整数像素坐标,因为原图像与目标图像的像素坐标不是一一对应的。我们通过重映射来表达每个像素的位置(x, y):g(x, y)=f(h(x,y))这里g()是目标图像,f()是原图像,h(x,y)是作用于(x,y)的映射方法函数。假设有一幅图像I,满足下面条件作重映射:h(x,y)=(I.cols - x,y)图像会按照x轴方向发生反转,如下:看到红色圈关于x的位置改变(x轴水平翻转)open
原理:霍夫变换圆检测原理和直线相似,直线检测需要两个参数(theta,r)。圆形需要圆心做坐标两个参数和半径。对左边做霍夫圆变换可以发现圆形的位置变成了一个两点,说明HoughCircles(image,outputArray circles, 发现圆信息int method, 方法-HOUGH_GRADIENTdouble dp, dp = 1;double mindist, 最短距离,可以分辨是两个圆的圆心的最小像素距离,否则认为是同心圆double param1, canny edge d
霍夫变换直线检测前提条件:边缘检测已经完成(单通道8位灰度图像,经过二值化变为黑白图像)平面空间转到极坐标空间通过上式子可以把像素点转化成极坐标,如下图所示。上面的曲线相交与一点,说明了什么信息呢?说明这些像素都在一条直线。比如一个图像有200个像素,通过坐标变换。那么就可以得到200条曲线。相交点的对应横坐标角度就是直线在空间坐标的角度。这就是霍夫变换的原理。霍夫直线变换介绍:变换到极坐标中,从[0,360]空间,可以得到r的大小属于同一条直线上点在极坐标空间(r,θ)必然在一个点上有强的信号
算法介绍:Canny是一种边缘检测算法1.高斯模糊–GaussianBlur2.灰度转换–cvtColor3.计算梯度–sobel4.非最大信号抑制 对非边缘的像素进行移植,在切向和法向 去掉,5.高低阈值输出二值图像,进行边缘连接,如果大于最高阈值的像素要保留,低于最低的要舍去,中间的作为连接图像。非多大信号抑制:在x方向和y方向做完梯度变换角度是梯度变化最大的方向。如果在和梯度垂直的方向上的相邻像素点都比自身大,就丢弃。高低阈值输出二值图像:T1,T2为阈值,凡是高于T2的都应该被保留,凡是
理论:在二阶微分的时候,最大变化处的值为零即边缘是零值,通过二阶导数计算,依据理论我们可以计算出图像二阶导数,提取边缘。处理流程:高斯模糊-去噪声GaussianBlur()转化为灰度图像cvtColor()拉普拉斯-二阶导数计算Laplacian()提取绝对值convertScaleAbs()显示结果代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <mat