gpt4 book ai didi

python - cv2.imshow() 函数如何在 BGR 模型中工作?

转载 作者:行者123 更新时间:2023-12-04 03:42:34 27 4
gpt4 key购买 nike

在RGB颜色模型中,cv2.imshow()按bgr顺序工作,当使用cv2.imshow()加载图片时,在中显示>matplotlib.plot.show()函数,出错是因为plot.show()使用了rgb顺序,可以通过反转图像中b,g,r的 channel 来解决,但是当我制作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 命令映射到更改的 channel ?就像 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?

最佳答案

plt.show(img_HSV ) 假设输入是 RGBcv2.show(img_HSV) 假设输入是 BGR

因此,如果您以不同的格式提供输入,他们无论如何都会采用他们假设的 channel 。例如,cv2.imshow(img_HSV ) 方法会将 Hue 值设为蓝色,因此会有不同的图像表示。

因此,在处理完其他颜色空间后,只需将它们转换回 RGB 或 BGR 以用于 imshow() 函数。

关于python - cv2.imshow() 函数如何在 BGR 模型中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65695172/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com