我需要一条线在检测到的面部矩形上上下移动。看起来就像是在扫描真人脸。我想使用 python 和 opencv 演示基于 GUI 的扫描。我尝试过以下方法
import cv2
img=cv2.imread("10.jpg")
cv2.rectangle(img, (60, 50), (140, 150), (255,0,0), 2)
cv2.line(img, (60,50),(150, 140), (0, 255, 0), thickness=3, lineType=8)
cv2.imshow("face",img)
k = cv2.waitKey(0)
最佳答案
您可以迭代矩形高度并在循环的每次迭代中绘制线条。要“向下扫描”,请从 [0 ... height]
迭代;要“向上扫描”,请从 [height ... 0]
反向迭代
import cv2
import numpy as np
height = 400
width = 400
image = np.zeros((width,height,3), dtype=np.uint8)
cv2.imshow('image', image)
cv2.waitKey(1000)
for line in range(height * 2):
image[:,:] = [0,0,0]
cv2.line(image, (0,line//2),(width, line//2), (36, 255, 12), thickness=2, lineType=8)
cv2.imshow('image', image)
cv2.waitKey(2)
for line in range(height * 2)[::-1]:
image[:,:] = [0,0,0]
cv2.line(image, (0,line//2),(width, line//2), (36, 255, 12), thickness=2, lineType=8)
cv2.imshow('image', image)
cv2.waitKey(2)
关于python - 如何在检测到的矩形中上下移动cv2.line来模拟Python中的人脸扫描?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57912289/