【问题标题】:Reading image in two different environnement在两种不同的环境中读取图像
【发布时间】:2021-05-20 09:27:40
【问题描述】:

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

在这两种环境中我都有:

  • PIL == 7.2.0
  • numpy == 1.19.1

我在两个环境中运行这段代码(并且只运行这段代码):

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 结果。

【问题讨论】:

  • 还有,究竟是什么是“不一样的”?形状?颜色?还要别的吗?这两种环境是什么?
  • 当我打开图像时,它看起来是一样的,但是在查看数字时会有所不同(用部分结果编辑了我的问题)。当您问“这两种环境是什么?”你想把所有的库都安装在里面吗(因为有很多...)
  • 运行print(Image.core.jpeglib_version)时有结果吗?顺便说一句:如果我在给定的图像上运行给定的代码,我似乎从你的 env2 中得到结果。
  • 谢谢!它似乎在那里,因为对于 env1 我得到 9.0 而对于 env2 8.0 !
  • 检查this GitHub repo。实际上,这似乎是您的确切问题。对于某些 Unix 衍生版本,有更新到 9.0 版的指南。

标签: python image numpy python-imaging-library


【解决方案1】:

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

为了安装 9.0 版,我做了:

pip uninstall pillow
conda install pillow

(如果我做了pip install pillow,我得到的是8.0版)

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

【讨论】:

  • 啊,你的环境有不同的包管理器!你应该提到的! ;-) 很可能,Pillow 的 Windows 包只是针对 pipconda 构建的不同,一个链接到 libjpeg 8.0,另一个链接到 libjpeg 9.0。
猜你喜欢
  • 1970-01-01
  • 2019-11-27
  • 2021-11-16
  • 2016-09-23
  • 1970-01-01
  • 2021-06-04
  • 1970-01-01
  • 2021-07-07
  • 1970-01-01
相关资源
最近更新 更多