OpenCV图像变换

1 图像变换

        本次主要说明OpenCV图像变换中的边缘检测,直线检测,仿射变换,直方图均衡化。

2 概念

2.1 边缘检测

        边缘检测一般的步骤分为(1)滤波,(2)增强,(3)检测。通过图像滤波可以改善与噪声有关的边缘检测器的性能,常见的滤波方法如高斯滤波,其重要通过归一化的离散高斯函数作为模板,对影像进行卷积。增强是指将边缘显著的点凸显出来。最后一步是检测。用于边缘检测的算子和滤波器有-Canny算子、Sobel算子、Laplacian算子及Sharr滤波器。

2.2 霍夫变换

        将笛卡尔坐标系下的点转换为极坐标系下,对于每一个笛卡尔坐标系下的点,通过转换,可以得到经过此点的一簇直线,在rho-theta空间表示为一个正弦曲线。一般来说,一条直线通过在平面rho-theta空间寻找交于一点的曲线数量来检测。而越多曲线交于一点也就意味着这个交点表示的直线由更多的点组成,可以通过设置直线上点的阈值来定义多条曲线交于一点。

2.3 仿射变换

        仿射变换,是指一个向量空间进行一次线性变换并接上一个平移。具体表现为平面的平移、旋转、缩放。 

                                            x'=a1*x+a2*y+a3; y'=b1*x+b2*y+b3

2.4 直方图均衡化

        直方图均衡化是通过拉伸像素强度分布范围来增强图像对比度的一种方法,通过灰度概率分布分数来确定均衡化前和后灰度值之间的对应关系。均衡化处理后的图像只能是近似均匀分布。均衡化图像的动态范围扩大了,而量化级别变少了。

3 OpenCV函数

        此篇文章用到的OpenCV函数为,Canny,HoughLines,warpAffine和getRotationMatrix2D,equalizeHist()函数。详细可以查看代码注释。

你可能感兴趣的:(C++,OpenCV)