1.灰度化:
在openCV中,通过cvtColor函数实现图像灰度化,格式为:
cv2.cvtColor(src,code[,dst[,dstCn]])其中src表示输入的图像,没有默认值。
code表示颜色空间类型。
dst表示输出的图像,没有默认值。
dstCn表示目标图像数据通道数,没有默认值。
(1)那么下面把图像灰度化:
原图:

代码:
import cv2
src=cv2.imread('D:\pht/Taylor.jpg')
gray=cv2.cvtColor(src,cv2.COLOR_BGR2GRAY) #彩图转为灰度图
cv2.imwrite('D:\pht/Taylor1.jpg',gray) # 将图像写出到磁盘中运行后的图片为:

(2)灰度化的代码也可以写为:
gray=cv2.imread('D:\pht/Taylor.jpg',0) #将彩图灰度化并读取
cv2.imwrite('D:\pht/Taylor2.jpg',gray) 运行后的图跟上面的灰度图一样。
2.二值化:
在OpenCV中,通过threshold函数实现图像的二值化,格式如下:
ret, dst=cv2.threshold(src, thresh, maxval, type[, dst])
其中,src表示输入的图像,没有默认值。
thresh表示阈值的大小,没有默认值。
maxval表示大于阈值的设置的颜色,没有默认值。
type表示阈值处理方法。其中常用的有:
cv2.THRESH_BINARY #表示将灰度图进行二值化
cv2.THRESH_BINARY_INV #表示将灰度图进行反二值化。
二值化的代码如下:
import cv2
src=cv2.imread('D:\pht/Taylor.jpg')
gray=cv2.cvtColor(src,cv2.COLOR_BGR2GRAY) #彩图转换为灰度图
ret,binary=cv2.threshold(gray,127,255,cv2.THRESH_BINARY) #输入灰度图,实现图像二值化
cv2.imwrite('D:\pht/Taylor3.jpg',binary)运行后的图为:

版权声明:本文为m0_59719078原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。