OpenCV与阈值与平滑处理

OpenCV与阈值与平滑处理
文章图片
Fu Xianjun. All Rights Reserved
目录 一. 阈值处理
二.用滚动条控制阈值参数
三. 平滑处理
四. 调整平滑效果
重点:阈值选定与处理、模糊处理
难点:卷积概念 1.阈值处理 【OpenCV与阈值与平滑处理】阈值处理是指剔除图像内像素值高于一-定值或者低于一定值的像素点。例如,设定阈值为127,然后:
*将图像内所有像素值大于127的像素点的值设为255。
*将图像内所有像素值小于或等于127的像素点的值设为0。
通过上述方式能够得到一幅二值图像,如图6-1所示,按照上述阈值处理方式将一幅灰度图像处理为一幅二值图像,有效地实现了前景和背景的分离
OpenCV与阈值与平滑处理
文章图片

OpenCV 3.0使用cv2.threshold()函数进行阈值化处理,该函数的语法格式为:
retval, dst = cv2. threshold( src, thresh, maxval, type )
OpenCV与阈值与平滑处理
文章图片
ty代表阈值分割的类型,具体类型值如上表

OpenCV与阈值与平滑处理
文章图片

上述公式相对抽象,可以将其可视化,具体如上表
OpenCV与阈值与平滑处理
文章图片

自适应阈值处理
有一种改进的阈值处理技术,其使用变化的阈值完成对图像的阈值处理,这种技术被称为自适应阈值处理。在进行阈值处理时,自适应阈值处理的方式通过计算每个像素点周围临近区域的加权平均值获得阈值,并使用该阈值对当前像素点进行处理。与普通的阈值处理方法相比,自适应阈值处理能够更好地处理明暗差异较大的图像。
OpenCV提供了函数ev2 atTereholrn来实现自适有应阅值处理,该函数的语法格式为:dst = cv.adaptiveThreshold( src, maxValue, adaptiveMethod, thresholdType,blockSize, C )
OpenCV与阈值与平滑处理
文章图片

OpenCV与阈值与平滑处理
文章图片

Otsu处理 在使用函数cv2.threshold(进 行阈值处理时,需要自定义- -个阈值,并以此阈值作为图像阈值处理的依据。通常情况下处理的图像都是色彩均衡的,这时直接将阈值设为127是比较合适的
让函数从v.threshold()采用Otsu方法进行阈值分割:
t,otsu=cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
OpenCV与阈值与平滑处理
文章图片

2.用滚动条控制阈值处理参数 cv2. Threshold()
cv2.adaptiveThreshold()
cv2. Threshold(Otsu)
OpenCV与阈值与平滑处理
文章图片

OpenCV与阈值与平滑处理
文章图片

3.平滑处理 在尽量保留图像原有信息的情况下,过滤掉图像内部的噪声,这-过程称为对图像的平滑处理,所得的图像称为平滑图像
OpenCV与阈值与平滑处理
文章图片

OpenCV与阈值与平滑处理
文章图片

4. 调整平滑效果 OpenCV与阈值与平滑处理
文章图片

均值滤波: OpenCV与阈值与平滑处理
文章图片

方框滤波:OpenCV与阈值与平滑处理
文章图片

高斯滤波:OpenCV与阈值与平滑处理
文章图片

中值滤波如:OpenCV与阈值与平滑处理
文章图片

双边滤波:OpenCV与阈值与平滑处理
文章图片

2D卷积:OpenCV与阈值与平滑处理
文章图片

2D卷积如上











    推荐阅读