快捷搜索: 王者荣耀 脱发

python 灰度图转rgb rgb转灰度之间的变化

发现 rgb——二值化——保存图片 读取保存图——转为灰度图 opencv在保存灰度图时,自动将单通道的灰度图转换为三通道的rgb图存储,再次读取保存图像,将三通道rgb转换成灰度图时,有些颜色相近似的像素点发生了变化 1、读取彩色图片,转换为灰度图,二值化,保存,代码如下

import cv2
import matplotlib.pyplot as plt

img = cv2.imread(r"D:ma.jpg")
# 转化成灰度图
gray = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
# 转换成二值图
e, binary = cv2.threshold(gray, 180, 255, cv2.THRESH_BINARY)
# 展示二值图
cv2.imshow(q, binary)
cv2.waitKey()
# 二值图像的直方图
plt.hist(binary.flatten(), 256)
plt.show()
# 保存
cv2.imwrite(r"D:	1.jpg", binary)

原图 二值图 二值图直方图 读取保存的二值图,转换成灰度图,再次计算直方图,发现本来是应该二值化的直方图,在0和255周围出现了一些不该出现的像素 读取图片程序

import cv2
import matplotlib.pyplot as plt
# 读取图片
img = cv2.imread(r"D:	1.jpg")
# 转换为灰度图
gray = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
# 再次计算二值图
plt.hist(gray.flatten(), 256)
plt.show()
经验分享 程序员 微信小程序 职场和发展