cvtColor 颜色空间转化
利用cvtColor()进行颜色空间转化,选择将rgb的彩色图转化成灰度图。
代码:
import cv2
img = cv2.imread('1/lena512color.tiff')
cv2.imshow('sourceImg', img)
#颜色空间转化,彩色图像转化成灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow('gray', gray)
cv2.waitKey()
cv2.destroyAllWindows()
官方文档
https://docs.opencv.org/2.4/modules/imgproc/doc/miscellaneous_transformations.html#cvtcolor
代码样例
cv2.cvtColor(src, code[, dst[, dstCn]]) → dst
COLOR_BGR2GRAY BGR to Gray
我们常见的图像都说是rgb,但在这里变成了BGR的顺序,BGR的顺序是OpenCV缺省的颜色排列方式
参数:
- src 原图像
- code 颜色空间转换代码,参数类型是int
- dst 输出图像
- dstCn 目标图像中的频道数; 如果参数为0,则通道数自动从src和代码得出。
threshold 阈值化
在得到上面灰度图的前提下对图片进行阈值化处理。
代码:
import cv2
img = cv2.imread('1/lena512color.tiff')
cv2.imshow('sourceImg', img)
#颜色空间转化,彩色图像转化成灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
_, gray1 = cv2.threshold(gray, 120, 0xff, cv2.THRESH_BINARY)
#采用了120的阈值,对图像进行阈值化
#这里的120可以进行调整,效果就会产生不同,往小调,整个图片会变白,往大调整个图片会变黑
cv2.imshow('gray', gray)
cv2.imshow('threshold', gray1)
cv2.waitKey()
cv2.destroyAllWindows()
代码样例
threshold(src, thresh, maxval, type, dst=None, /) -> retval, dst
官方文档
(https://docs.opencv.org/2.4/modules/imgproc/doc/miscellaneous_transformations.html#threshold)
Parameters:
- src – input array (single-channel, 8-bit or 32-bit floating point).
- dst – output array of the same size and type as src.
- thresh – threshold value.
- maxval – maximum value to use with the THRESH_BINARY and THRESH_BINARY_INV thresholding types.
- type – thresholding type .
参数:
- src 原图像,用的是输入数组(单通道,8位或32位浮点)。
- dst 与src具有相同大小,类型和相同通道数的输出数组。
- thresh 阈值
- maxval #THRESH_BINARY和#THRESH_BINARY_INV阈值类型使用的最大值。
- type 阈值类型