文章图片
Fu Xianjun. All Rights Reserved
目录 一. 阈值处理
二.用滚动条控制阈值参数
三. 平滑处理
四. 调整平滑效果
重点:阈值选定与处理、模糊处理
难点:卷积概念
1.阈值处理 【OpenCV与阈值与平滑处理】阈值处理是指剔除图像内像素值高于一-定值或者低于一定值的像素点。例如,设定阈值为127,然后:
*将图像内所有像素值大于127的像素点的值设为255。
*将图像内所有像素值小于或等于127的像素点的值设为0。
通过上述方式能够得到一幅二值图像,如图6-1所示,按照上述阈值处理方式将一幅灰度图像处理为一幅二值图像,有效地实现了前景和背景的分离
文章图片
OpenCV 3.0使用cv2.threshold()函数进行阈值化处理,该函数的语法格式为:
retval, dst = cv2. threshold( src, thresh, maxval, type )
文章图片
ty代表阈值分割的类型,具体类型值如上表
文章图片
上述公式相对抽象,可以将其可视化,具体如上表
文章图片
自适应阈值处理
有一种改进的阈值处理技术,其使用变化的阈值完成对图像的阈值处理,这种技术被称为自适应阈值处理。在进行阈值处理时,自适应阈值处理的方式通过计算每个像素点周围临近区域的加权平均值获得阈值,并使用该阈值对当前像素点进行处理。与普通的阈值处理方法相比,自适应阈值处理能够更好地处理明暗差异较大的图像。
OpenCV提供了函数ev2 atTereholrn来实现自适有应阅值处理,该函数的语法格式为:dst = cv.adaptiveThreshold( src, maxValue, adaptiveMethod, thresholdType,blockSize, C )
文章图片
文章图片
Otsu处理 在使用函数cv2.threshold(进 行阈值处理时,需要自定义- -个阈值,并以此阈值作为图像阈值处理的依据。通常情况下处理的图像都是色彩均衡的,这时直接将阈值设为127是比较合适的
让函数从v.threshold()采用Otsu方法进行阈值分割:
t,otsu=cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
文章图片
2.用滚动条控制阈值处理参数 cv2. Threshold()
cv2.adaptiveThreshold()
cv2. Threshold(Otsu)
文章图片
文章图片
3.平滑处理 在尽量保留图像原有信息的情况下,过滤掉图像内部的噪声,这-过程称为对图像的平滑处理,所得的图像称为平滑图像
文章图片
文章图片
4. 调整平滑效果
文章图片
均值滤波:
文章图片
方框滤波:
文章图片
高斯滤波:
文章图片
中值滤波如:
文章图片
双边滤波:
文章图片
2D卷积:
文章图片
2D卷积如上
推荐阅读
- opencv|OpenCV图像学习八,图像归一化盒子滤波处理和图像高斯滤波处理实现
- C++|OpenCV图像处理学习十,图像的形态学操作——膨胀腐蚀
- opencv|OpenCV图像处理学习七,利用回调函数setMouseCallback和鼠标响应处理函数onMouse实现ROI感兴趣区的提取
- 毕业设计|【毕业设计】opencv+python+深度学习 实现公式识别
- 毕设选题|【毕业设计】深度学习交通车辆流量分析 - 目标检测与跟踪 - python opencv
- python|核酸检测识别系统——总章
- opencv|图像基础入门--图像基本操作
- python|opencv图像处理及视频处理基本操作
- 工具|opencv Ubuntu上环境搭建