我很好奇,因为我注意到如果我用opencv保存一个图像,而不重新排序图像回RGB,他们保存在BGR排序。现在我已经打开和重新排序(使用cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
),我不确定排序是否正确?因为如果它切换第一个和最后一个通道(R-〉B)并保存为(BGR)比第二次加载时,这将是RGB了吗?
如果这是一个有点愚蠢的问题,我道歉。
提前感谢!
例如
image = cv2.imread(path) #RGB ->BGR
cv2.imwrite(image, path) # saves BGR
image = cv2.imread(path) # what is the ordering of image?
1条答案
按热度按时间eanckbw91#
请看下图
让我们试试,如果我们在opencv中一次又一次地加载它,它是否会改变。
如果我没理解错你的问题的话,你假设第二张图片
blue2.jpg
是红色的,至少你在这里是这么说的我注意到,如果我用opencv保存图像,而不将图像重新排序回RGB,它们将以BGR顺序保存。
结果
blue2.jpg
:blue3.jpg
:结论
仅阅读和写入图像文件不会改变结果的颜色通道顺序,即
imwrite(imread(.))
不等于cvtColor(im, cv.BGR2RGB)
。