gpt4 book ai didi

python - OpenCV BGR 和 PyPlot RGB

转载 作者:行者123 更新时间:2023-12-02 16:47:54 30 4
gpt4 key购买 nike

我了解到OpenCV的色序是BGR,而Matpotlib的Pyplot的色序是RGB。所以我开始尝试使用这两个库读取和显示图像。这是我试验过的图像:enter image description here

这只是一张黑白图像,某些部分带有红色。现在,当我使用 pyplot.imshow() 显示 OpenCV 读取的图像副本时,领带和鞋子的颜色变为蓝色。当我使用 cv2.imshow() 显示 pyplot.imread() 读取的图像副本时,也会发生同样的情况。但是,当我使用 cv2.imshow() 显示 cv2.imread() 读取的图像副本并使用 plt.imshow() 显示 plt.imread() 读取的副本时,颜色保持不变。我只是好奇,想知道执行此类操作时幕后发生的事情。有人可以帮我吗?

最佳答案

假设您有这样一个向量:[0, 0, 255]

您知道有两种不同的颜色编码:RGB 和 BGR。所以,在第一种情况下你有蓝色,在第二种情况下你有红色。

现在我们调用RGB_Reader和BGR_Reader两个系统打开数字并显示。

如果我用 BGR_Reader 打开图像,我有 [0, 0, 255]。我将它传递给 RGB_Reader,仍然是 [0, 0, 255]。我看到了蓝色。当我传递它时,我会传递 [0, 0, 255]。我用 RGB_Reader 再次打开它,它又是蓝色的。

反之亦然。

这对你有意义吗?矢量不会改变,但它的解码方式会改变。

现在介绍另外一个东西,叫jpg_encoder。那个告诉人们把蓝色、红色和绿色放在哪里,并且可能会重新排序。

关于python - OpenCV BGR 和 PyPlot RGB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61010960/

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