Создание вектора признаков из отдельных пикселей, извлеченных из определенных c точек изображения - PullRequest
0 голосов
/ 27 мая 2020

у меня есть изображение лица, из которого я хотел бы выделить отдельные пиксели из очень специфичных c частей изображения и создать 20-мерный вектор для этих точек.

enter image description here

Например, это то, что я пытаюсь сделать, до сих пор я пробовал использовать KeyPoints, формы из cv2 и даже точки из графики, ни один из них не работал. Поэтому я хочу sh просто попробовать, но не могу понять, как бы это сделать. Учитывая, что вектор признаков может быть представлен из каждого пикселя изображения, я должен sh создать простой 20-мерный вектор признаков, состоящий всего из 20 пикселей, которые я считаю полезными в определенных c местах изображения. например: учитывая изображение размером 150x150, мы могли бы предположить, что интересные пиксели были в позиции 125x100 125x50 50x35

и et c.

Я пытался использовать PIL, в частности, я удалось вставить белые пиксели, однако изображение читается как черное, и я все еще не могу понять, как создать вектор признаков из значений пикселей.

Когда я это делаю:

from PIL import Image
path = "elvis.jpg"

img = Image.open(path).convert('LA')
width, height = img.size
points = Image.new('L', (width, height))


points.putpixel((149, 59), (255))
points.putpixel((145, 97), (255))
points.putpixel((194, 11), (255))
points.putpixel((93, 92), (255))
points.putpixel((147, 35), (255))
points.putpixel((188, 140), (255))
points.putpixel((97, 195), (255))
points.save("elvispoints.png")

Это происходит:

enter image description here

I wi sh, чтобы вручную установить 20 c пикселей на черный цвет. И сохраните их в векторе функций 20D

1 Ответ

0 голосов
/ 29 мая 2020

putpixl из библиотеки PIL - это то, что я искал. Очень простой путь = "elvis.jpg"

img = Image.open(path).convert('LA')
width, height = img.size

img.show()

img.putpixel((149, 59), (255))
img.putpixel((145, 97), (255))
img.putpixel((194, 11), (255))
img.putpixel((93, 92), (255))
img.putpixel((147, 35), (255))
img.putpixel((188, 140), (255))
img.putpixel((97, 195), (255))
img.save("elvispoints.png")
...