Meg*_*rji 2 python opencv image matplotlib
我了解到OpenCV的颜色顺序是BGR,而Matpotlib的Pyplot的颜色顺序是RGB。因此,我开始尝试使用这两个库读取和显示图像。这是我尝试过的图像:
它只是一个黑白图像,某些部分有红色。现在,当我使用 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。那个人告诉人们把蓝色、红色和绿色放在哪里,并且可能会重新排序。
| 归档时间: |
|
| 查看次数: |
2138 次 |
| 最近记录: |