【使用的函数集合】

本文介绍了OpenCV库中用于图像处理的一些关键函数,包括自适应阀值算法、中值滤波、HoughCircles找圆、掩膜操作、形态学变换、Shi-Tomasi角点检测以及读数算法。通过实例和参数调整,展示了这些函数在处理椒盐噪声、图像分割、圆检测和角点检测等任务中的应用。
摘要由CSDN通过智能技术生成

【使用的函数集合】
【1】自适应阀值算法——实现二值化
cv2.adaptiveThreshold

adaptiveThreshold(src, maxValue, adaptiveMethod, thresholdType, blockSize, C) 
#返回二值化后的图像矩阵-> dst
src参数:表示输入图像(8位单通道图像)。
 
maxValue参数:表示使用 THRESH_BINARY 和 THRESH_BINARY_INV 的最大值.
 
adaptiveMethod参数:表示自适应阈值算法,平均 (ADAPTIVE_THRESH_MEAN_C)或高斯(ADAPTIVE_THRESH_GAUSSIAN_C)。
 
thresholdType参数:表示阈值类型,必须为THRESH_BINARY或THRESH_BINARY_INV的阈值类型。
 
blockSize参数:表示块大小(奇数且大于1,比如357........ )。
 
C参数:常数,表示从平均值或加权平均值中减去的数。 通常情况下,这是正值,但也可能为零或负值。

一般情况下,blocksize过大会导致图像细节的丢失,过小虽然保存了图像细节,但是也使得运行的时间大幅增加,因此需要进行权衡。

一般情况。参数C是大于0的,C越大说明最后的阈值就会越小,这样导致的结果就是图像的大部分像素会被转换为亮域,即更多的像素点的灰度值大于阈值,被转化为255亮域。C越小时则恰恰相反
【2】中值滤波(参数可调)
中值模糊cv2.medianBlur
  对椒盐噪声有很好的处理效果,椒盐噪声也称为脉冲噪声,是图像中经常见到的一种噪声,它是一种随机出现的白点或者黑点,可能是亮的区域有黑色像素或是在暗的区域有白色像素(或是两者皆有)

参数设置可变

为3时
在这里插入图片描述

为5时在这里插入图片描述

【3】HoughCircles找圆(参数可调)
HoughCircles函数的原型为:

void HoughCircles(InputArray image,OutputArray circles, int method, double dp, double minDist, double param1=100, double param2=100, int minRadius=0,int maxRadius=0 )

image为输入图像,要求是灰度图像

circles为输出圆向量,每个向量包括三个浮点型的元素——圆心横坐标,圆心纵坐标和圆半径

method为使用霍夫变换圆检测的算法,Opencv2.4.9只实现了2-1霍夫变换,它的参数是CV_HOUGH_GRADIENT

dp为第一阶段所使用的霍夫空间的分辨率,dp=1时表示霍夫空间与输入图像空间的大小一致,dp=2时霍夫空间是输入图像空间的一半,以此类推

minDist为圆心之间的最小距离,如果检测到的两个圆心之间距离小于该值,则认为它们是同一个圆心

param1为边缘检测时使用Canny算子的高阈值

param2为步骤霍夫空间内累加和大于该阈值的点就对应于圆心。和步骤设定一个阈值,只有相同值的数量大于该阈值,才认为该值是该圆心对应的圆半径;中所共有的阈值。累加器阀值。

minRadius和maxRadius为所检测到的圆半径的最小值和最大值

【4】mask掩膜分割图像
mask与图像的位运算。
【5】形态学腐蚀膨胀
【6】Shi-Tomasi 算法,角点检测、goodFeaturesToTrack函数

void cv::goodFeaturesToTrack( InputArray _image, OutputArray _corners,
                              int maxCorners, double qualityLevel, double minDistance,
                              InputArray _mask, int blockSize,
                              bool useHarrisDetector, double harrisK )

_image:8位或32位浮点型输入图像,单通道

_corners:保存检测出的角点

maxCorners:角点数目最大值,如果实际检测的角点超过此值,则只返回前maxCorners个强角点

qualityLevel:角点的品质因子

minDistance:对于初选出的角点而言,如果在其周围minDistance范围内存在其他更强角点,则将此角点删除

_mask:指定感兴趣区,如不需在整幅图上寻找角点,则用此参数指定ROI

blockSize:计算协方差矩阵时的窗口大小

useHarrisDetector:指示是否使用Harris角点检测,如不指定,则计算shi-tomasi角点

harrisK:Harris角点检测需要的k值

【7】读数算法
(1)角度法,容易出现误读到圆盘上不平滑的点,造成结果差异巨大。刻度分界点不太准确。
(2)考虑剪掉圆盘部分再进行角点检测
(3)或者考虑舍弃角点算法,围绕圆心进行腐蚀,直到只剩下一个白色像素点

结合了一下(2)(3)用腐蚀,直到只剩下几个白色像素点,再角点检测。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值