为什么 OpenCV 在加载时渲染彩色图像不正确?
当使用 Python OpenCV 加载彩色图像时,用户可能会遇到以下情况:图像显示的颜色不正确。出现此问题的原因是 OpenCV 和 matplotlib 使用不同的颜色顺序约定。
了解颜色顺序差异
OpenCV 使用 BGR(蓝-绿-红)作为默认值图像的颜色顺序,而 matplotlib 使用 RGB(红-绿-蓝)进行操作。这种差异会导致在 matplotlib 中显示 OpenCV 加载的图像时颜色失真。
解决方案:将 BGR 转换为 RGB
要解决此问题,请显式从 BGR 转换图像使用以下代码行将其转换为 RGB:
RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
使用转换后的图像进行显示
图像转换为 RGB 后,您可以将其用于绘图原始 BGR 图像的:
plt.subplot(1,2,i+1),plt.imshow(RGB_img,'gray')
通过采用这种方法,图像将以准确的颜色显示,与 matplotlib 使用的传统 RGB 顺序对齐。
以上是当我将 OpenCV 彩色图像加载到 matplotlib 中时,为什么它们显示不正确?的详细内容。更多信息请关注PHP中文网其他相关文章!