• 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    미해결

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

21.11.08 18:04 작성 조회수 103

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 문의하기를 이용해주세요.

답변 0

답변을 작성해보세요.

답변을 기다리고 있는 질문이에요.
첫번째 답변을 남겨보세요!