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()
上一篇:
IDEA上Java项目控制台中文乱码