我正在尝试读取图像中像素的x和y位置。这是我运行时显示的示例:
plt.figure(1)
plt.imshow(img)
plt.title('image')
plt.show()
为什么它们是非整数值?我最好的猜测是正在发生一些缩放?我在spyder上将python作为IDE运行。
编辑:这是图像:
编辑2:经过仔细检查,逐像素检查时,它们似乎位于.5标记处,而不是0到1。这是我的轴设置的屏幕截图...这里肯定有些时髦。有人知道为什么吗?
答案 0 :(得分:0)
我的猜测是,用鼠标悬停在显示的图像上时,您担心的浮点值只是鼠标指针的位置,而不必是整数。但是仍然位于像素(平方整数区域)内,因此可以为您提供有关该像素位置处的通道的信息。
此处提供了另一种以更受控的方式获取有关像素信息的方法:
这是我的工作代码段,用于打印图像中的像素颜色:
import os, sys
import Image
im = Image.open("image.jpg")
x = 3
y = 4
pix = im.load()
print pix[x,y]
答案编辑2:就像那样有意义。像素中心落在您希望像素具有的整数值.0上。如果边缘落在.0上,则无法在可视化范围内在像素坐标和像素值之间进行直接映射。同样,高度和宽度为1的像素也正是我们所期望的。