人脸辨识-day29

在模型训练完成後,最终需要可以即时在侦测到人脸後辨识出来,可先设定当摄影机开启後的画面长宽与一些影像等原始设定。

frame_in_w = 640
frame_in_h = 480
videoIn = cv2.VideoCapture(0)
videoIn.set(cv2.CAP_PROP_FRAME_WIDTH, frame_in_w)
videoIn.set(cv2.CAP_PROP_FRAME_HEIGHT, frame_in_h)
print("capture device is open: " + str(videoIn.isOpened()))
fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v')
out = cv2.VideoWriter('output.mp4', fourcc, 20.0, (640, 360))

在摄影机开启後,有画面後一侦一侦的影像,如果有画面里有侦测到人脸後,首先要利用人脸徵测的哈尔特徵,撷取的人脸要与训练资料的影像大小一致,之後在将撷取到的人脸放入之前训练好的模型,在利用模型预测即时截好的影像,用相似程度来判断测试者是否可以进入系统。

while videoIn.isOpened():
        # read video from camera
        ret, outframe = videoIn.read()
        if (ret):
            # keyboard input value
            key = cv2.waitKey(1) & 0xFF
            out.write(outframe)

最後预测完了也要将影像画面关闭,释放记忆体。

    print('Video Capture end, release camera.')
    videoIn.release()
    out.release()
    cv2.destroyAllWindows()

<<:  Day 29 middleware - thunk

>>:  30天学会C语言: Day 28-指标&阵列

Day27 - 防止被 Debugger 逆向

昨天有尝试将验证字串编码,但还是容易被逆向找到程序逻辑并绕过。今天尝试透过 Fuzzing 将程序位...

D3JsDay09 资料元素来绑定,让你元素有内定—资料绑定

资料绑定 datum()函式 前面的文章多半是在使用D3来操作DOM,这边主要探讨D3的核心,将资料...

认识共享服务+使用SMB

正式来使用unRaid功能八~ unRaid的SMB共享虽然调整灵活度没有像NAS系统那麽高,但在一...

【面试】coding interview

另一系列悲剧..不小心按到上一页.. 感觉这篇还少了点什麽? 如果平常只用过 Leetcode,建...

数据中台(Data Middle Office)

过去我们可以透过建立资料仓储系统来统一储存和处理资料: • 阶段一: 关联资料库与资料仓储,以及商业...