怎么利用Python读取图像并将图像进行灰度化-创新互联

今天就跟大家聊聊有关怎么利用Python读取图像并将图像进行灰度化,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

濠江ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

python读取图像

import cv2 # 利用opencv读取图像
import numpy as np
# 利用matplotlib显示图像
import matplotlib.pyplot as plt 

img = cv2.imread("./lena.png") #读取图像
# 显示图像
plt.imshow(img)
plt.axis('off')
plt.show()

问:为什么画出的图像和原图有色差呢?
答:opencv的颜色通道顺序为[B,G,R],而matplotlib的颜色通道顺序为[R,G,B]。
解决方案:把R和B的位置调换一下

img = img[:,:,(2,1,0)]

再次显示图像
效果:(自己做了就知道了)

图像灰度化算法
Gray = 0.299R+0.587G+0.114*B

r,g,b = [img[:,:,i] for i in range(3)]
img_gray = r*0.299+g*0.587+b*0.114

再次显示图像

plt.imshow(img_gray)
plt.axis('off')
plt.show()

问:为什么她绿了?


答:因为我们还是直接使用plt显示图像,它默认使用三通道显示图像。
解决方案:在plt.imshow()添加参数

plt.imshow(img_gray,cmap="gray")
plt.axis('off')
plt.show()

看完上述内容,你们对怎么利用Python读取图像并将图像进行灰度化有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


当前名称:怎么利用Python读取图像并将图像进行灰度化-创新互联
文章链接:http://pwwzsj.com/article/ccpsdi.html