3

我似乎在 scipy.misc.imread 中遇到了一个错误,我正在寻找解决方法。这是错误报告的剪辑:

from scipy.misc import imread
im = imread('380.bmp')
...

C:\Anaconda3\lib\site-packages\PIL\BmpImagePlugin.py in _bitmap(self, header, offset)
145                     raw_mode = MASK_MODES[(file_info['bits'], file_info['rgb_mask'])]
146                 else:
--> 147                     raise IOError("Unsupported BMP bitfields layout")
148             else:
149                 raise IOError("Unsupported BMP bitfields layout")

OSError: Unsupported BMP bitfields layout

我可以在图像查看器中毫无问题地打开图像,所以我确定它没有损坏。

主要问题是:什么是 imread 的最佳替代品,所以我可以解决这个问题?或者,如果您知道修复 imread 的方法,那也很好。

顺便说一句,我在 Anaconda 2.4.1(64 位)中使用 Python 3.5.1

4

1 回答 1

1

我在使用 PIL.Image 时遇到了同样的错误。我使用 cv2 绕过了这个问题。我的代码是这样的:

import cv2 #pip install opencv-python
from PIL import Image #pip install pillow
temp_img = cv2.imread(filename.bmp)
color_corrected = cv2.cvtColor(temp_img, cv2.COLOR_BGR2RGB)
img = Image.fromarray(color_corrected)

祝你好运。

于 2019-03-26T11:32:10.387 回答