我需要从图像的特定点提取特征。目前,我只针对一张图像执行此操作,但是要手动进行逐帧操作要进行大量工作。要提取简单的像素强度级别,我可以这样做:
print(img[45, 80])
print(img[45, 100])
print(img[50, 65])
print(img[50, 110])
print(img[40, 110])
print(img[35, 90])
print(img[25, 90])
print(img[25, 110])
print(img[64, 89])
print(img[25, 65])
print(img[40, 65])
print(img[65, 60])
print(img[65, 120])
print(img[82, 75])
print(img[82, 105])
print(img[78, 88])
print(img[110, 90])
print(img[90, 89])
print(img[100, 65])
print(img[100, 110])
values = [245, 247, 199, 199, 210, 213, 216, 196, 225, 199, 189, 189, 195, 221, 225, 201, 221, 201, 216, 222]
new_values = np.reshape(values,(20,1))
[基本上,我手动验证对我的应用程序更有用的像素,并将其存储在矢量中。尽管这些坐标对于所有面部图像都是恒定的,但是我想做的是能够一次加载所有50张图像,并打印它们的值或/和将它们存储在矢量中。
我目前正在加载这样的图像:
from os import listdir
from PIL import Image as PImage
def loadImages(path):
imagesList = listdir(path)
loadedImages = []
for image in imagesList:
img = PImage.open(path + image)
loadedImages.append(img)
return loadedImages
imgs = loadImages('C:/Dataset/Frames/')
for img in imgs:
imgplot = plt.imshow(img)
print(img[45, 100])
plt.show()
不仅,它不起作用,它还会给我错误:
TypeError:'TiffImageFile'对象不是
可订阅
您可能想用print(img[45, 100])
代替print(img.getpixel((45, 100)))
参考:https://pillow.readthedocs.io/en/stable/reference/Image.html