温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么利用Python读取图像并将图像进行灰度化

发布时间:2020-12-01 15:20:14 来源:亿速云 阅读:334 作者:Leah 栏目:开发技术

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

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读取图像并将图像进行灰度化有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI