Как применить многоугольную маску к видеопотоку в Python с помощью OpenCV?Python

Программы на Python
Гость
Как применить многоугольную маску к видеопотоку в Python с помощью OpenCV?

Сообщение Гость »


Я создаю систему обнаружения парковочных мест с помощью камеры видеонаблюдения на Python, где пользователь сможет вручную определять границы каждого парковочного места, чтобы обеспечить максимальную адаптируемость. Сценарий, который позволяет пользователю создавать границы каждого парковочного места, отлично работает и выводит коллекцию фигур в виде массива словарей, каждый словарь содержит координаты x и y каждой точки фигуры как аспекты словаря.
Мне удалось создать многоугольные маски, такие как
Изображение
, используя следующий код:

Код: Выделить всё

img2 = cap # background image
plain = Image.new('L', (cap.shape[1], cap.shape[0]),0) # plain black image
polygon = [(shapes[i]['x1'], shapes[i]['y1']), (shapes[i]['x2'], shapes[i]['y2']), (shapes[i]['x3'], shapes[i]['y3']), (shapes[i]['x4'], shapes[i]['y4'])]
ImageDraw.Draw(plain).polygon(polygon, outline=1, fill=1)
mask = np.array(plain)
masked_img = cv.bitwise_and(img2, img2, mask = mask)
cv.imshow('d',masked_img)
Цель здесь — создать отдельную маску для каждой формы, которую вводит пользователь, использовать обработку изображений и Canny, чтобы определить, находится ли автомобиль в маске, а затем перейти к следующее место. Повторите этот процесс для каждого ролика и до тех пор, пока есть прямая видеотрансляция. Я предполагаю, что инструкции PIL каким-то образом мешают видеопотоку?
Это мой код, который я написал на данный момент:

Код: Выделить всё

while True:
while i

Источник: [url]https://stackoverflow.com/questions/78158236/how-do-i-apply-a-polygon-mask-to-a-video-feed-in-python-using-opencv[/url]

Вернуться в «Python»