请在Chrome、Firefox等现代浏览器浏览本站。如果需要合作请 点击 加我 QQ 说你的需求。

opencv的色彩通道依次为[B,G,R],matplotlib的色彩通道

bbin糖果派对 admin

python读取图象 原图: ? import cv2 ?# 应用opencv读取图象 import numpy as np # 应用matplotlib显示图象 import matplotlib.pyplot as plt? img=cv2.imread("https://blog.csdn.net/iamcfb_/article/details/lena.png") #读取图象 # 显

  python读取图象

  原图:

  ?

  import cv2 ?# 应用opencv读取图象

  import numpy as np

  # 应用matplotlib显示图象

  import matplotlib.pyplot as plt?

  img=cv2.imread("https://blog.csdn.net/iamcfb_/article/details/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()

  后果:

喜欢 (0) or 分享 (0)