OpenCV基础入门( 三 )


源于生物学的一个分支,该分支主要研究动植物的形态和结构 。而我们图像处理种的形态学,往往指的是数学形态学 。
4.1.4 漫水填充
我的理解就是选择一种颜色,然后用其他颜色进行填充,就好像我们画图,画一个圈,然后把中间的白色填充为其他颜色一样 。
4.1.5 图像金字塔
这里首先就要引出两个概念
而图像金字塔就是图片从一个最高分辨率逐级向下递减,直到满足某个中止条件,这些多分辨率图像的集合称为图像金字塔 。
4.1.5 阈值化
简而言之,就是将超出某个阈值的像素,进行重新的定义的操作 。
设置阈值
选项像素值>其他情况
cv2.
cv2.
cv2.
当前灰度值
cv2.
当前灰度值
cv2.
当前灰度值
cv2.threshold(src, thresh, maxval, type[, dst])'''参数:-src:灰度图片-thresh:起始阈值-maxval:最大值-type:如上表的关系'''
这步妥妥的奥运五环 。
4.2 图像变换 4.2.1 边缘检测
一般步骤:
canny算子
1986年开发的,是边缘检测计算理论的创立者 。
sobel算子
sobel算子是一个主要用于边缘检测的离散微分算子 。
算子
该算子是n为欧几里得空间中的一个二阶微分算子,定义为梯度grad的散度div 。
滤波器
顾名思义,他就是一个滤波器,不过是为了配合sobel算子的运算而存在 。
4.2.2 霍夫变换
用于识别几何形状图形的基本方法之一 。
4.2.3 映射变换
重映射
对像素坐标进行重映射 。
仿射变换
可以这样理解,主要是对图像的缩放,旋转和平移等操作的组合 。
透射变换
投射变换是视角变化的结果,是指利用透视中心、像点、目标点三点共线的条件,按透视旋转定律使承影面(透视面)绕迹线(透视轴)旋转某一角度,破坏原有的投影光线束,仍能保持承影面上投影几何图形不变的变换 。
4.2.4 直方图均衡化
就是计算直方图的频数,然后对其进行平均分布 。
5 之组件
【OpenCV基础入门】图像特征可以分为三种
5.1 角点检测
我对角点的感觉,有点类似边缘点,该点周围的区域,沿着一个方向,出现明显的亮度变化 。
dst = cv.cornerHarris(src, blockSize, Ksize, k)'''参数-img:数据类型为float32的输入图像-blockSize:角点检测中要考虑的领域大小-ksize:sobel求导使用的核大小-k:角点检测方程中的自由参数,取值参数为【0.04,0.06】'''corners = cv2.goodFeaturesToTrack(image, maxcorners, qualityLevel, minDistance)'''参数-image:输入灰度图像-maxCorners:获取角点数的数目-qualityLevel:该参数指出最低可接受的角点质量水平,在0-1之间-minDistance:角点之间最小的欧式距离,避免得到相邻特征点返回-corners:搜索到的角点,在这里所有低于质量水平的角点被排除掉了 。'''
5.2 特征检测与匹配
以上是10中特征检测算法
SIFT
sitf = cv.xfeatures2d.SIFT_create()kp,des = sift.detectAndCompute(gray, None)'''参数-gray:进行关键点检测的图像,注意是灰度图像返回:-kp:关键点信息,包括位置,尺度,方向信息-des:关键点描述符,每个关键点对应128个梯度信息的特征向量'''cv.drawKeypoints(image, keypoints, outputimage, color, flags)'''参数:-image:原始图像-keypoints:关键点信息,将其绘制在图像上-outputimage:输出图片,可以是原始图像-color:颜色设置,通过修改(b,g,r)的值,更改画笔的颜色-flag:绘图功能+cv2.DRAW_MATCHES_FLAGS_DEFAULT:创建输出图像矩阵,使用现存的输出图像绘制匹配特征点,每一个关键点只绘制中间点+cv2.DRAW_MATCHES_FLAGS_DRAW_OVER_OUTIMG:不创建输出图像矩阵,而是在输出图像上绘制匹配对+cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS:对每一个特征点绘制带大小和方向的关键点图形+cv2.DRAW_MATCHES_FLAGS_NOT_DRAW_SINGLE_POINT:单点的特征点不被绘制'''