首页 > 解决方案 > 在两种不同的环境中读取图像

问题描述

我有两个不同的环境和一个要阅读的图像

在这两个环境中,我都有:

我在两种环境中运行此代码(并且仅此代码):

import numpy as np
from PIL import Image
res = np.asarray(Image.open(r"C:\Users\MLH\Documents\Notebook Projets\CompteursKm\merge_project\boxes\14.jpg"))

但是 res 数组在两个环境中并不相同。

我不知道为什么。你能帮助我吗 ?

有问题的图像是: 在此处输入图像描述

从 env1 我得到:

[[[145 100  43],  [144 102  44],  [143 101  43],  ...,  [ 89  50  19],  [ 81  49  28],  [ 63  36  25]],, [[162 115  45],  [162 117  49],  [160 115  47],  ...,  [129  91  55],  [113  79  54],  [ 70  44  29]],, [[164 116  32],  [167 119  37],  [165 118  36],

从 env2 我得到:

[[[145 101  38],  [146 102  39],  [143 102  40],  ...,  [ 86  51  23],  [ 81  49  26],  [ 63  37  24]],, [[160 115  47],  [162 117  49],  [160 115  48],  ...,  [127  91  59],  [111  80  52],  [ 71  43  29]],, [[164 116  34],  [166 119  39],  [165 118  40],

我想在 env2 中得到 env1 结果。

标签: pythonimagenumpypython-imaging-library

解决方案


总而言之,感谢@HansHirse,我们发现问题是Image.core.jpeglib_version不同的。

要安装 9.0 版,我做了:

pip uninstall pillow
conda install pillow

(如果我这样做了pip install pillow,我得到了 8.0 版)

我真的不明白为什么,但它正在工作:)


推荐阅读