【发布时间】:2020-08-13 10:37:05
【问题描述】:
是否可以将 opencv(使用 python)作为默认读取图像作为 RGB 顺序?在 opencv 文档中 imread 方法将图像作为 BGR 的顺序返回,但在代码中 imread 方法将图像作为 RGB 顺序返回?我没有做任何转换过程。只需使用 imread 方法并在屏幕上显示。它在 Windows 图像查看器上显示。 可能吗 ?
编辑 1: 我的代码如下。左侧 cv.imshow() 方法和另一个 plt.imshow() 方法。
cv2.imshow() 方法将图像显示为 RGB,plt 将其显示为 opencv 读取 (BGR) 图像。
image_file = 'image/512-2-1001-18-RGB.jpg'
# img = imp.get_image(image_file)
img = cv2.imread(image_file)
plt.imshow(img)
plt.show()
cv2.imshow('asd', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
编辑 2: 一些opencv imshow方法如何将图像显示为RGB 下面我附上了图像的第一个像素值,下一个图像是 Photoshop 像素值
编辑 3: 下面只是读取图像并使用 imshow 和第二个图像是原始 RGB 图像。
在 imshow 方法后图像看起来与原始图像相同,这让我很困惑
按RGB顺序排列的原图。
【问题讨论】:
-
我不知道任何配置标志在传递给
cv2.imread()时会读取 RGB 格式的图像。我认为默认格式仅为 BGR。读取图片后随时可以使用cv2.cvtColor(img, cv2.COLOR_BGR2RGB)将图片转为RGB。 -
只要使用
RGB = cv2.imread('image.png')[...,::-1] -
` def get_image(self, filePath): return cv.imread(filePath)` 代码是这个并将图像作为RGB返回(当我在屏幕上显示它时,它看起来就像在Windows图像上一样查看器)。
标签: python opencv image-processing