【发布时间】:2021-01-13 03:14:53
【问题描述】:
在 RGB 颜色模型中,cv2.imshow() 按 bgr 顺序工作,当使用 cv2.imshow() 加载图像并在 matplotlib.plot.show() 函数中显示时,会出错导致 plot.show () 使用 rgb 顺序,可以通过反转图像中 b、g、r 的通道来解决,但是当我将 RGB 颜色模型转换为其他颜色模型时,如 HSV、YUV、YCbCr,当使用 plot.show()它仍然与 cv2.show() 不同。所以当 RGB->HSV、YUV、YCbCr 颜色模型时,cv2.show() 是否仍然像 v、s、h 映射到 b、g、r 一样工作?和 plt.show () 使用顺序 h,s,v 映射到 r,g,b?无论什么颜色模型使用 cv2.show() 和 plot.show(),它只使用 b,g,r 和 r,g,b订单映射到改变的通道?比如 HSV 中的 v,s,h 和 h,s,v,YUV 中的 v,u,y 和 y,u,v?
img_HSV = cv2.cvtColor(img_BGR, cv2.COLOR_BGR2HSV)
plt.show(img_HSV )
cv2.show(img_HSV )
plt.show(img_HSV [:,:,::-1])
第 1 行代码中的结果与第 2 行不同,但第 3 行与第 2 行相同。 所以 plt.show 由 h,s,v 映射到 r,g,b 而 cv2.show 由 v,s,h 映射到 b,g,r?
【问题讨论】: