我运行了这个(第一个)示例,它启动了我的笔记本电脑的网络摄像头,这样我就可以在屏幕上看到自己。
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
# Our operations on the frame come here
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Display the resulting frame
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
我在Ubuntu 14.04 LTS上安装了OpenBr,并成功地在一张我自己的照片上运行了这个命令:
br - gui -algorithm ShowFaceDetection -enrollAll -enroll /home/nakkini/Desktop/myself.png
我在终端中运行的上述命令会显示我的照片并在我的脸周围绘制一个正方形(人脸检测),它还会用绿色突出显示我的眼睛。 我的梦想: 我想知道是否有一种方法可以将此命令与上面的简短程序结合起来,以便当启动网络摄像头时,我可以看到我的脸被绿色矩形包围? 我为什么需要这个? 我发现了纯OpenCV/Python的类似程序,但是出于后续需求,我需要更多的东西而不仅仅是简单的人脸检测,并且我自己判断,OpenBR将为我省去很多麻烦。这就是为什么我要寻找一种方法,在上述代码的内部首先运行命令行的原因。 提示: 代码中的“frame”对应于命令行中的“myself.png”。要解决的问题是尝试将“frame”传递到程序内的命令行中的“myself.png”的位置。
非常感谢您的帮助。
编辑: 经过修正@Xavier的解决方案的拼写错误后,我没有错误。但是程序并不按照我的意愿运行:
首先,摄像头启动并且我可以看到自己,但是我的脸没有被绿色矩形检测到。其次,我按任意键退出,但程序不退出:它显示了一个检测到我脸的图片。最后按一下键退出程序。我的目标是在摄像头运行期间看到我的脸被检测到。
br -gui ...
而不是br - gui
。 - berak