【发布时间】:2019-07-12 16:23:37
【问题描述】:
我在一个 numpy 数组中找到一个点,然后想将此数组保存为图像,并在定位点周围有一个框。
下面是显示问题的简化代码表示
from PIL import Image, ImageDraw
import numpy as np
np_img = np.zeros((259,339,3))
pt = (29,118)
np_img[pt] = [255,0,0]
print(np_img[pt])
final_img = Image.fromarray(np_img, 'RGB')
#final_draw = ImageDraw.Draw(final_img)
#final_draw.rectangle([(pt[1]-3, pt[0]+3), (pt[1]+3, pt[0]-3)], outline="blue")
new_np_img = np.asarray(final_img)
print(new_np_img[pt])
new_pt = np.where(new_np_img > 0)
print(new_pt)
final_img.show()
我希望如果我将生成的 PIL 图像读回到一个 numpy 数组中,我设置为 [255,0,0] 的点仍然是那个值,但事实并非如此。 PIL 对我的数据做了什么,以便我可以了解我需要如何调节我的 numpy 数组,以便它在 PIL 图像中显示我的点的正确位置?
【问题讨论】:
标签: python numpy python-imaging-library