opencv - 使用 cv2.imread (OpenCV) 和 PIL.Image.open (Pillow) 将图像打开到 numpy 数组时的不同结果

标签 opencv pillow

我正在尝试打开图像并将其转换为 numpy 数组。

我试过了:
1) cv2.imread 直接给你一个numpy数组
2)然后 PIL.Image.open 做一个 numpy.asarray 来转换图像对象。

然后我意识到从同一张图片得到的数组是不同的,请看随附的截图。
cv2.imread
PIL.Image.open

我希望颜色 channel 应该始终具有相同的顺序,无论包装如何,但我似乎无法找到任何关于 Pillow 的文档。

还是我只是傻?提前感谢您的任何建议!!!

最佳答案

我对 PIL 一无所知,但与世界上几乎所有其他系统相反,OpenCV 以 BGR 顺序存储图像,而不是 RGB。这让每个 OpenCV 初学者都大吃一惊,看起来你的例子就是这种情况。

关于opencv - 使用 cv2.imread (OpenCV) 和 PIL.Image.open (Pillow) 将图像打开到 numpy 数组时的不同结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45648764/

相关文章:

python-2.7 - 如何在Python中将所有对象添加到空列表中?

c++ - 绘制一个矩形边界离线人类手写签名

python - 在 Linux 中安装 Pillow(Python 模块)时失败

python - 无法导入名称 'ImageTK' - python 3.5

python - PIL 图像到 QPixmap 的转换问题

python - SWIG Python 绑定(bind)到本地代码不适用于 OpenCV 2.1

image-processing - 如何将3 channel IplImage转换为8位?

opencv - 强度切片与 OpenCV 中的彩色 map 实现是否相同?

Python PILLOW 库使用 CPU 进行图像处理,可以在 GPU 上完成吗?