0

����甯�海洋�

涓�河渠轰腑蹇�

璁剧疆

  • 杩�����琛�
  •  
    ���拌��棰�
    寮���河渠哄伐�鸿�借�界�堕��瑕�寰�澶��板���ヨ��锛�浣�濡�����浠�����绠�����搴���锛�广大辩����澶�河渠������ㄦ�ゅ��河渠�河渠鸿�歌������婧���锛���河渠哄凡浜叉����ㄥ��锛�

    PS锛�
    璇疯��琛���寤� image ��浠跺す锛�
    骞舵����疏浚�瑁�濂�opencv�╁�锛�pip install opencv-python
    澶��跺��疏浚瑰�板��璐存��
    浠g��:
    import cv2

    ###璋��ㄧ�佃������澶存�娴�河渠鸿�稿苟����

    def CatchPICFromVideo(window_name, camera_idx, catch_pic_num, path_name):
        cv2.namedWindow(window_name)

        #瑙�棰��ユ�锛���浠ユ�ヨ��涓�娈靛凡瀛�濂界��瑙�棰�锛�涔���浠ョ�存�ユ�ヨ��USB����澶�
        cap = cv2.VideoCapture(camera_idx)

        #��璇�OpenCV浣跨�ㄤ男子�歌������绫诲��
        classfier = cv2.CascadeClassifier("haarcascade_frontalface_alt.xml")

        #璇����轰汉�稿��瑕��荤��杈规���棰��诧�RGB�煎�, color��涓�涓�涓���澧������扮演�
        color = (0, 255, 0)

        num = 0
        while cap.isOpened():
            ok, frame = cap.read() #璇诲��涓�甯ф�版��
            if not ok:
                break

            grey = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)  #广大�褰���妗㈠�惧��潘��㈡���板害�惧��

            #河渠鸿�告�娴�锛�1.2��2����涓哄�剧��缂╂�炬��岛�����瑕�妫�娴��������规��
            faceRects = classfier.detectMultiScale(grey, scaleFactor = 1.2, minNeighbors = 3, minSize = (32, 32))
            if len(faceRects) > 0:          #澶т�0��妫�娴��颁汉��
                for faceRect in faceRects:  #����妗��烘��涓�寮�河渠鸿��
                    x, y, w, h = faceRect

                    #广大�褰���甯т�海洋�涓哄�剧��
                    img_name = "%s/%d.jpg" % (path_name, num)
                    #print(img_name)
                    image = frame[y - 10: y + h + 10, x - 10: x + w + 10]
                    cv2.imwrite(img_name, image,[int(cv2.IMWRITE_PNG_COMPRESSION), 9])

                    num += 1
                    if num > (catch_pic_num):   #濡���瓒�杩���疏浚���澶т�海洋��伴�����哄惊��
                        break

                    #�诲�雾�╁舰妗�
                    cv2.rectangle(frame, (x - 10, y - 10), (x + w + 10, y + h + 10), color, 2)

                    #�剧ず褰��������颁�澶�广大�河渠鸿�稿�剧��河渠�锛�杩��风���ㄩ�i��琚������跺�����涓��起�涓��ㄤ袱�间��归��荤����
                    font = cv2.FONT_HERSHEY_SIMPLEX
                    cv2.putText(frame,'num:%d/%d' % (num,catch_pic_num),(x + 30, y + 30), font, 1, (255,0,255),4)

                    #瓒�杩���疏浚���澶т�海洋��伴��缁���绋�搴�
            if num > (catch_pic_num): break

            #�剧ず�惧��
            cv2.imshow(window_name, frame)
            c = cv2.waitKey(10)
            if c & 0xFF == ord('q'):
                break

                #���炬����澶村苟��姣�����绐���
        cap.release()
        cv2.destroyAllWindows()

    if __name__ == '__main__':
        # 杩�缁���100寮��惧��锛�海洋�杩�image��浠跺す涓�
        CatchPICFromVideo("get face", 0, 20, "image")






    51CTO璁哄����绉诲�ㄧ����锛���甯���甯��存�逛究~
    ‹‹ 涓�涓�璐达�Python�ラ�ㄥ�璇ョ��璋���瑙�棰�姣�杈�濂�   |    涓�涓�璐达�Python���ㄥ��娴�璇�妗��舵����河渠�锛� ››
  • 杩�����琛�
  •  
    ���拌��棰�
    蹇�����澶�涓婚�
    �充���浠� | 璇����辨�� | ��绯绘��浠� | 缃�绔�澶т� | �����炬�� | ��瑙���兄弟� | 缃�绔��板��
    Copyright©2005-2020 51CTO.COM
    ��璁哄��瑷�璁虹函灞���甯���涓�河渠烘��瑙�锛�涓�浠h〃51CTO缃�绔�绔��虎�濡�����涔�锛�璇蜂�绠$������绯伙� bbs@surowce-wtorne.com