为什么用Python的openCV读取图片与PIL读取的图片像素值会不一样?

2025-01-24 09:51:33
推荐回答(2个)
回答1:

经测试,同一张图片,使用 PIL 和 OpenCv 库读取的数据是一样的(经过BGR转成RGB):

执行结果:

建议:可以尝试更新 PIL 或是 OpenCv 库。

本机测试环境: Python 3.7+Pillow 6.2 +opencv-python 4.1

回答2:

的确是不一样的。
以下是我用两种方法对一张图片做的差值。解决方案暂时没有想到。建议还是只用一种读取方式。
[[[254 1 0]
[254 1 0]
[254 1 0]
...
[ 0 0 4]
[ 0 255 3]
[ 0 0 1]]
[[ 0 0 0]
[255 1 0]
[ 0 0 0]
...
[ 0 255 2]
[ 0 255 2]
[255 1 0]]
[[ 0 0 0]
[254 0 1]
[ 0 0 0]
...
[ 0 0 2]
[ 0 255 2]
[ 0 0 0]]
...
[[ 0 0 0]
[ 0 0 0]
[ 0 0 0]
...
[ 0 0 0]
[ 0 0 0]
[ 0 0 0]]
[[ 0 0 0]
[ 0 0 0]
[ 0 0 0]
...
[ 0 0 0]
[ 0 0 0]
[ 0 0 0]]
[[ 0 0 0]
[ 0 0 0]
[ 0 0 0]
...
[ 0 0 0]
[ 0 0 0]
[ 0 0 0]]]