关于为什么图像为BGR格式在窗口上看起来也是正常的颜色
在OpenCV中,cv2.imshow()
函数会根据图像的通道顺序自动进行颜色通道的转换,以正确显示图像。
当使用BGR格式的图像作为输入时,cv2.imshow()
函数会自动将其转换为RGB格式进行显示。这样做的目的是为了与许多其他图像处理库和常见的图像显示方式保持一致,因为在这些情况下,通常使用RGB格式表示图像。
因此,即使你在代码中没有明确地将图像从BGR格式转换为RGB格式,cv2.imshow()
函数仍然能够正常显示图像的正确颜色。这种自动的颜色通道转换是OpenCV库为了方便开发者而内置的功能。
cv2.VideoWriter也会自动修改图像格式吗?
在 OpenCV 的 cv2.VideoWriter 中,你可以指定要写入视频的图像格式。这意味着你可以选择以不同的像素格式保存视频。
通常情况下,如果你没有明确指定图像格式,cv2.VideoWriter 会尝试根据输出文件的扩展名或编解码器的要求来确定默认的图像格式。
对于常见的视频编解码器(如XVID、H.264等),cv2.VideoWriter 默认将图像格式设置为 BGR。这与 cv2.imshow() 函数所需的颜色通道顺序相一致。
如果你想使用其他像素格式,可以通过指定 fourcc 参数来实现。例如,对于某些编解码器,你可以使用 ‘MJPG’ 作为 fourcc 参数,并将图像格式指定为 RGB。文章来源:https://www.toymoban.com/news/detail-681459.html
总之,cv2.VideoWriter 可以根据你的指定自动修改图像格式,但默认情况下,它会将图像格式设置为 BGR,以便与大多数视频编解码器兼容。文章来源地址https://www.toymoban.com/news/detail-681459.html
到了这里,关于关于为什么图像为BGR格式在窗口上看起来也是正常的颜色的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!