Я пытаюсь распечатать обнаруженный большой двоичный объект на черном кадре массива NumPy, который имеет такой же размер порядкового кадра, т.е. (640, 1280)
архитектура операционной системы Ubuntu (например, x86) x64 opencv4.1.0-Python версии 3.6.8
import cv2
import numpy as np
cap = cv2.VideoCapture('1.mp4')
e1_x1 = 760
e1_y1 = 150
e1_x2 = 845
e1_y2 = 195
e2_x1 = 800
e2_y1 = 150
e2_x2 = 880
e2_y2 = 200
black = np.zeros((640, 1280, 3), dtype = "uint8")
def blobSelection(eye,black):
keypoints=blob_detector.detect(eye)
for ma in keypoints:
print(x,y)
black = cv2.drawMarker(black, tuple(int(i) for i in ma.pt), color=(0, 255, 0))
return black
while True:
_, frame = cap.read()
e1 = frame[e1_y1:e1_y2, e1_x1:e1_x2]
cv2.rectangle(black, (e1_x1,e1_y1), (e1_x2,e1_y2), (255,0,0), 1, 8, 0)
cv2.rectangle(frame, (e1_x1,e1_y1), (e1_x2,e1_y2), (255,0,0), 1, 8, 0)
cv2.putText(frame, "e1", (e1_x1, e1_y2), cv2.FONT_HERSHEY_SIMPLEX, 1.0, (255, 255, 255), lineType=cv2.LINE_AA)
cv2.rectangle(black, (e2_x1,e2_y1), (e2_x2,e2_y2), (255,0,0), 1, 8, 0)
cv2.rectangle(frame, (e2_x1,e2_y1), (e2_x2,e2_y2), (255,0,0), 1, 8, 0)
cv2.putText(frame, "e2", (e2_x1, e2_y2), cv2.FONT_HERSHEY_SIMPLEX, 1.0, (255, 255, 255), lineType=cv2.LINE_AA)
e2 = frame[e2_y1:e2_y2, e2_x1:e2_x2]
e1 = eyeDetection(e1, black)
e2 = eyeDetection(e2,black)
cv2.imshow('Orginal', frame)
cv2.imshow('Detected eye', black)
key = cv2.waitKey(1)
if key == 27:
break
cap.release()
cv2.destroyAllWindows()
Я хочу, чтобы два глаза человека на исходном изображении были вставлены на черный фон одновременно.