【发布时间】:2019-01-25 22:42:48
【问题描述】:
我有一个尺寸为 720*1280 的零图像,我有一个像素坐标列表要更改:
x = [623, 623, 583, 526, 571, 669, 686, 697, 600, 594, 606, 657, 657, 657, 617, 646, 611, 657, 674, 571, 693, 688, 698, 700, 686, 687, 687, 693, 690, 686, 694]
y = [231, 281, 270, 270, 202, 287, 366, 428, 422, 517, 608, 422, 518, 608, 208, 214, 208, 231, 653, 652, 436, 441, 457, 457, 453, 461, 467, 469, 475, 477, 467]
这是散点图:
yy= [720 -x for x in y]
plt.scatter(x, yy, s = 25, c = "r")
plt.xlabel('x')
plt.ylabel('y')
plt.xlim(0, 1280)
plt.ylim(0, 720)
plt.show()
这里是通过将像素值设置为 255 来生成二进制图像的代码
image_zeros = np.zeros((720, 1280), dtype=np.uint8)
for i ,j in zip (x, y):
image_zeros[i, j] = 255
plt.imshow(image_zeros, cmap='gray')
plt.show()
结果如下:有什么问题!!
【问题讨论】:
-
@unutbu,它不起作用。你能生成结果吗?请
-
解决方案就是问题所在。该图的宽度小于 1280x720 像素,因此您无法看到数组中的所有值。
-
@Goyo,我不明白你的意思。你的意思是我们不能使用 plt.imshow() 显示这样的图像分辨率?
-
只要您的输出设备支持,您可以使用
imshow显示任何分辨率。但是您不能在 378x223 的图片中显示 1280x720 的值。
标签: python numpy matplotlib imshow