对图片进行二值化处理,并把数组保存成图片
作者:小白jiang
python -V 3.7
使用opencv的cv2
Python: cv2.threshold(src, thresh, maxval, type[, dst]) → retval, dst
src:是图片源
thresh:是阈值
type:表示的是这里划分的时候,用的什么算法,下面代码中使用的THRESH_BINARY的意思是:
大于180的全部变成255;小于180的全部变成0。
返回的retval是阈值,dst是图像的数组
import cv2
#读取图片
src = cv2.imread('test.jpg')
#灰度图像处理
GrayImage = cv2.cvtColor(src,cv2.COLOR_BGR2GRAY)
#二进制阈值化处理
r, b = cv2.threshold(GrayImage, 180, 255, cv2.THRESH_BINARY)
print(r)
print(b)
# 保存图片:就是把数组保存成图片
import PIL
from PIL import Image
im = Image.fromarray(b)
im.save("test_result.png")
#显示图像
cv2.imshow("src", src)
cv2.imshow("result", b)
#等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()
参考:
肥宅_Sean的博文:https://blog.csdn.net/a19990412/article/details/81172426