Python3与OpenCV3.3 图像处理(十五)--图像二值化
一、什么是二值图像
图像中只有0和1,即1表示黑色,0表示白色
二、图像二值化的方法
图像二值化的方法:全局阈值,局部阈值。一般来说局部阈值要优于全局阈值。在OpenCV中图像二值化的方法有OTS,Triangle,自动与手动,衡量阈值方法是否是符合场景的,就是要看处理之后图像的信息是否丢失
三、示例代码
import cv2 as cv import numpy as np def 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): """局部阈值""