我们将图像分块最简单的方法就是设定一个阈值对图像进行二值化处理,那么这个阈值我们应该如何选择呢
在图像处理的领域中,图像的阈值处理一般使得图像的像素值更单一、图像更简单。前提输入进来的图片是灰度图,那么在之后的处理当中,将像素点分开就会更加明显。可以将整幅图像分成了非黑即白的二值图像了。
Opencv中就有cv2。threshold() 可以做阈值处理。
这个函数有四个参数,待处理的图像;分类的阈值;超过阈值的像素全部赋给的值;做处理的方法。
这个函数的返回值有两个,第一个r是得到的阈值的值,第二个处理后的图像。(只是不同为什么最后要返回阈值,明明入参已经知道阈值了,这样不是多此一举吗?)
cv2。THRESH_BINARY(黑白二值)
cv2。THRESH_BINARY_INV(黑白二值反转)
cv2。THRESH_TRUNC (得到的图像为多像素值)
cv2。THRESH_TOZERO (渐变至1)
cv2。THRESH_TOZERO_INV (渐变至0)
import cv2
img = cv2。imread('test1。jpg',0) #0表示灰度图像, 1表示彩色图像
ret,thresh1 = cv2。threshold(img,1,255,cv2。THRESH_BINARY)
ret,thresh2 = cv2。threshold(img,127,255,cv2。THRESH_BINARY_INV)
ret,thresh3 = cv2。threshold(img,127,255,cv2。THRESH_TRUNC)
ret,thresh4 = cv2。threshold(img,127,255,cv2。THRESH_TOZERO)
ret,thresh5 = cv2。threshold(img,127,255,cv2。THRESH_TOZERO_INV)