강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của se99810561
se99810561

câu hỏi đã được viết

[OpenCV] Dự án xử lý ảnh deep learning Python 2 - Tìm những quả táo xấu!

Giải thích code Face Tracking

동영상 재생이 원본보다 빠르게 됩니다.

Viết

·

214

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비import cv2

import time

 

file_name = 'ai_cv/video/face_01.mp4'

frame_count = 0

 

# csrt

# tracker = cv2.TrackerCSRT_create()

# kcf

tracker = cv2.TrackerKCF_create()

# boosting

# tracker = cv2.TrackerBoosting_create()

# mil

# tracker = cv2.TrackerMIL_create()

# tld

# tracker = cv2.TrackerTLD_create()

# medianflow

# tracker = cv2.TrackerMedianFlow_create()

# mosse

# tracker = cv2.TrackerMOSSE_create()

 

face_cascade_name = 'ai_cv/haarcascades/haarcascade_frontalface_alt.xml'

face_cascade = cv2.CascadeClassifier()

if not face_cascade.load(cv2.samples.findFile(face_cascade_name)):

    print('### Error loading face cascade ###')

    exit(0)

 

detected = False

frame_mode = 'Tracking'

elapsed_time = 0

trackers = cv2.MultiTracker_create()

 

vs = cv2.VideoCapture(file_name)

 

while True:

        ret, frame = vs.read()

        if frame is None:

            print('### No more frame ###')

            break

        start_time = time.time()

        frame_count += 1

        if detected:

            frame_mode = 'Tracking'

            (success, boxes) = trackers.update(frame)

            for box in boxes:

                (x, y, w, h) = [int(v) for v in box]

                cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)

        else:

            frame_mode = 'Detection'

            frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

            frame_gray = cv2.equalizeHist(frame_gray)            

            faces = face_cascade.detectMultiScale(frame_gray)

            for (x,y,w,h) in faces:

                cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 255), 4)

 

            trackers.add(tracker, frame, tuple(faces[0]))

            detected = True

 

        cv2.imshow("Frame", frame)

        frame_time = time.time() - start_time

        elapsed_time += frame_time

        print("[{}] Frame {} time {}".format(frame_mode, frame_count, frame_time))

        key = cv2.waitKey(1) & 0xFF

 

        if key == ord("q"):

            break

 

print("Elapsed time {}".format(elapsed_time))

vs.release()

cv2.destroyAllWindows()

 

[Detection] Frame 1 time 0.049742698669433594
[Tracking] Frame 2 time 0.00684809684753418
[Tracking] Frame 3 time 0.010833024978637695
[Tracking] Frame 4 time 0.011183738708496094
[Tracking] Frame 5 time 0.009935855865478516
[Tracking] Frame 6 time 0.01006460189819336
[Tracking] Frame 7 time 0.011047124862670898
[Tracking] Frame 8 time 0.00996708869934082
[Tracking] Frame 9 time 0.009964227676391602
[Tracking] Frame 10 time 0.009967327117919922
[Tracking] Frame 11 time 0.008969306945800781
[Tracking] Frame 12 time 0.010144472122192383
[Tracking] Frame 13 time 0.010159730911254883
[Tracking] Frame 14 time 0.010029315948486328
[Tracking] Frame 15 time 0.009900569915771484
[Tracking] Frame 16 time 0.012940406799316406
[Tracking] Frame 17 time 0.01034688949584961
[Tracking] Frame 18 time 0.01052403450012207
[Tracking] Frame 19 time 0.008970022201538086
[Tracking] Frame 20 time 0.010088205337524414
[Tracking] Frame 21 time 0.010962724685668945
[Tracking] Frame 22 time 0.009985685348510742
[Tracking] Frame 23 time 0.010182857513427734
[Tracking] Frame 24 time 0.011196136474609375
[Tracking] Frame 25 time 0.010173559188842773
[Tracking] Frame 26 time 0.00989079475402832
[Tracking] Frame 27 time 0.008971691131591797
[Tracking] Frame 28 time 0.010074377059936523
[Tracking] Frame 29 time 0.011148691177368164
[Tracking] Frame 30 time 0.010149717330932617
[Tracking] Frame 31 time 0.008952856063842773
[Tracking] Frame 32 time 0.0113372802734375
[Tracking] Frame 33 time 0.010261774063110352
[Tracking] Frame 34 time 0.010092496871948242
[Tracking] Frame 35 time 0.009135007858276367
[Tracking] Frame 36 time 0.011106014251708984
[Tracking] Frame 37 time 0.00996708869934082
[Tracking] Frame 38 time 0.010132551193237305
[Tracking] Frame 39 time 0.01096653938293457
[Tracking] Frame 40 time 0.009113788604736328
[Tracking] Frame 41 time 0.009966611862182617
[Tracking] Frame 42 time 0.009006500244140625
[Tracking] Frame 43 time 0.010137557983398438
[Tracking] Frame 44 time 0.010968685150146484
[Tracking] Frame 45 time 0.010090351104736328
[Tracking] Frame 46 time 0.00996708869934082
[Tracking] Frame 47 time 0.010097503662109375
[Tracking] Frame 48 time 0.009154081344604492
[Tracking] Frame 49 time 0.011050701141357422
[Tracking] Frame 50 time 0.010245323181152344
[Tracking] Frame 51 time 0.010037660598754883
[Tracking] Frame 52 time 0.009949207305908203
[Tracking] Frame 53 time 0.010206937789916992
[Tracking] Frame 54 time 0.010103940963745117
[Tracking] Frame 55 time 0.011080026626586914
[Tracking] Frame 56 time 0.009037256240844727
[Tracking] Frame 57 time 0.010066986083984375
[Tracking] Frame 58 time 0.01086282730102539
[Tracking] Frame 59 time 0.011019468307495117
[Tracking] Frame 60 time 0.009200334548950195
[Tracking] Frame 61 time 0.01138615608215332
[Tracking] Frame 62 time 0.010236263275146484
[Tracking] Frame 63 time 0.010827064514160156
[Tracking] Frame 64 time 0.010096311569213867
[Tracking] Frame 65 time 0.01114511489868164
[Tracking] Frame 66 time 0.011437177658081055
[Tracking] Frame 67 time 0.011236190795898438
[Tracking] Frame 68 time 0.00897216796875
[Tracking] Frame 69 time 0.01003575325012207
[Tracking] Frame 70 time 0.009973287582397461
[Tracking] Frame 71 time 0.012045145034790039
[Tracking] Frame 72 time 0.011436223983764648
[Tracking] Frame 73 time 0.011066913604736328
[Tracking] Frame 74 time 0.011760473251342773
[Tracking] Frame 75 time 0.011989831924438477
[Tracking] Frame 76 time 0.010531187057495117
[Tracking] Frame 77 time 0.009981393814086914
[Tracking] Frame 78 time 0.010620355606079102
[Tracking] Frame 79 time 0.01088094711303711
[Tracking] Frame 80 time 0.011965751647949219
[Tracking] Frame 81 time 0.010114431381225586
[Tracking] Frame 82 time 0.00996708869934082
[Tracking] Frame 83 time 0.012120246887207031
[Tracking] Frame 84 time 0.011082887649536133
[Tracking] Frame 85 time 0.010336637496948242
[Tracking] Frame 86 time 0.00996708869934082
[Tracking] Frame 87 time 0.01117849349975586
[Tracking] Frame 88 time 0.01202845573425293
[Tracking] Frame 89 time 0.01096653938293457
[Tracking] Frame 90 time 0.011366605758666992
[Tracking] Frame 91 time 0.013704061508178711
[Tracking] Frame 92 time 0.010897397994995117
[Tracking] Frame 93 time 0.011034488677978516
[Tracking] Frame 94 time 0.011842727661132812
[Tracking] Frame 95 time 0.010582447052001953
[Tracking] Frame 96 time 0.01071310043334961
[Tracking] Frame 97 time 0.011272192001342773
[Tracking] Frame 98 time 0.010962963104248047
[Tracking] Frame 99 time 0.010538816452026367
[Tracking] Frame 100 time 0.010112285614013672
[Tracking] Frame 101 time 0.011833667755126953
[Tracking] Frame 102 time 0.01100778579711914
[Tracking] Frame 103 time 0.009095907211303711
[Tracking] Frame 104 time 0.011062383651733398
[Tracking] Frame 105 time 0.010706901550292969
[Tracking] Frame 106 time 0.011118888854980469
[Tracking] Frame 107 time 0.009864330291748047
[Tracking] Frame 108 time 0.009962081909179688
[Tracking] Frame 109 time 0.011107206344604492
[Tracking] Frame 110 time 0.012238264083862305
[Tracking] Frame 111 time 0.011181354522705078
[Tracking] Frame 112 time 0.010162353515625
[Tracking] Frame 113 time 0.01158452033996582
[Tracking] Frame 114 time 0.011144876480102539
[Tracking] Frame 115 time 0.010689735412597656
Elapsed time 1.2488503456115723


동영상 재생이 원본보다 빨리됩니다.. 왜 이럴까요

 

스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
tensorflowopencv딥러닝컴퓨터-비전keras

Câu trả lời

Câu hỏi này đang chờ câu trả lời
Hãy là người đầu tiên trả lời!
Hình ảnh hồ sơ của se99810561
se99810561

câu hỏi đã được viết

Đặt câu hỏi