【发布时间】:2019-11-15 12:59:11
【问题描述】:
我正在尝试对示例图像进行简单的旋转,但是当我尝试显示它时,该文件只显示黑色像素。我可以看出它已经旋转了,因为尺寸已正确更改。
from io import BytesIO
import numpy as np
from PIL import Image
from skimage.transform import rotate
from flask import send_file
image_file = Image.open(file_path).convert("L")
image_array = np.array(image_file)
image_array_rotated = rotate(image_array, angle=90, resize=True)
rotated_image_file = Image.fromarray(image_array_rotated).convert("L")
buffered_image_file = BytesIO()
rotated_image_file.save(buffered_image_file, 'PNG')
buffered_image_file.seek(0)
return send_file(buffered_image_file, mimetype='image/png')
如果我删除旋转代码并显示原始图像或转换后的灰度(“L”)图像,它们都显示得很好。我的旋转图像只是黑色的。
【问题讨论】:
-
为什么要这样混淆?
rotated = image_file.rotate(-270, resample=..., expand=True) -
我猜问题是由意外转换为浮点数引起的。尝试将
preserve_range=True参数添加到rotate
标签: numpy python-imaging-library scikit-image numpy-ndarray