Python3与OpenCV3.3 图像处理(十五)--图像二值化
来源:互联网 发布:沪牌代拍软件 编辑:程序博客网 时间:2024/06/07 21:46
一、什么是二值图像
图像中只有0和1,即1表示黑色,0表示白色
二、图像二值化的方法
图像二值化的方法:全局阈值,局部阈值。一般来说局部阈值要优于全局阈值。在OpenCV中图像二值化的方法有OTS,Triangle,自动与手动,衡量阈值方法是否是符合场景的,就是要看处理之后图像的信息是否丢失
三、示例代码
import cv2 as cvimport numpy as npdef threshold(image): """图像二值化:全局阈值""" #图像灰度化 gray=cv.cvtColor(image,cv.COLOR_RGB2GRAY) #变为二值图像 #gary:灰度图像 #0:阈值,如果选定了阈值方法,则这里不起作用 ret ,binary=cv.threshold(gray,0,255,cv.THRESH_BINARY | cv.THRESH_TRIANGLE) print(ret) cv.imshow("binary",binary)def local_threshold(image): """局部阈值""" # 图像灰度化 gray = cv.cvtColor(image, cv.COLOR_RGB2GRAY) # 变为二值图像 binary = cv.adaptiveThreshold(gray,255,cv.ADAPTIVE_THRESH_GAUSSIAN_C,cv.THRESH_BINARY,25,10) cv.imshow("local_threshold", binary)def custom_threshold(image): """局部阈值""" # 图像灰度化 gray = cv.cvtColor(image, cv.COLOR_RGB2GRAY) h,w=gray.shape[:2] m=np.reshape(gray,[1,w*h]) mean=m.sum()/(w*h) # 变为二值图像 binary = cv.threshold(gray,mean,255,cv.THRESH_BINARY) cv.imshow("custom_threshold", binary)src=cv.imread('textImg.jpg')cv.waitKey(0)cv.destroyAllWindows()
阅读全文
0 0
- Python3与OpenCV3.3 图像处理(十五)--图像二值化
- Python3与OpenCV3.3 图像处理(五)--图像运算
- Python3与OpenCV3.3 图像处理(十一)--图像直方图
- Python3与OpenCV3.3 图像处理(十二)--图像直方图应用
- Python3与OpenCV3.3 图像处理(十六)--图像金字塔
- Python3与OpenCV3.3 图像处理(十七)--图像梯度
- Python3与OpenCV3.3 图像处理(四)--色彩空间
- Python3与OpenCV3.3 图像处理(六)--ROI
- Python3与OpenCV3.3 图像处理(七)--洪填充
- Python3与OpenCV3.3 图像处理(八)--模糊
- Python3与OpenCV3.3 图像处理(十)--EPF
- Python3与OpenCV3.3 图像处理(十三)--反射投影
- Python3与OpenCV3.3 图像处理(十四)--模板匹配
- Python3与OpenCV3.3 图像处理(补)--第十五节补充
- Python3与OpenCV3.3 图像处理(十九)--直线检测
- Python3与OpenCV3.3 图像处理(二)--图像基本操作
- Python3与OpenCV3.3 图像处理(一)--环境搭建与简单DEMO
- Python3与OpenCV3.3 图像处理(三)--Numpy数组操作
- dl
- ssh localhost, ssh免密码登陆localhost
- 栈帧
- 集中式和分布式
- git 上传本地代码到github
- Python3与OpenCV3.3 图像处理(十五)--图像二值化
- Python ceil() 函数
- centos7克隆虚拟机
- 指针应用
- E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
- 欢迎使用CSDN-markdown编辑器
- LeetCode小白菜笔记[1]:Two Sum
- 重载宏函数
- Qt小技巧