728x90
반응형
모션 캡쳐 하기
cv2, cvzone 을 이용하여 동영상에 사람의 모습을 캡쳐하는 예제이다.
아래 부분 에러로 인해 시간이 좀걸리긴 걸렸다.
결론은 cvzone을 최신 버전으로 업그레이드 하면 해결된다.
설치한지 며칠되지 않았는데, 그사이에 업데이트가 되면서 예제가 돌아가지 않았다.
차이점은 z항목이 추가 되었다는것이다.
import cv2
from cvzone.PoseModule import PoseDetector
cap = cv2.VideoCapture("Video.mp4")
detector = PoseDetector()
posList = []
while True:
ret, img = cap.read()
img = detector.findPose(img)
lmList, bboxInfo = detector.findPosition(img)
if bboxInfo:
lmString = ''
for lm in lmList:
lmString += f'{lm[1]},{img.shape[0] - lm[2]},{lm[3]},'
posList.append(lmString)
cv2.imshow("dance", img)
key = cv2.waitKey(1)
if key == ord('s'):
with open("AnimationFile.txt", 'w') as f:
f.writelines(["%s\n"% item for item in posList])
if key == 27:
break
cv2.destroyAllWindows
아래 이미지는 원래 예제에서 제공하는 영상을 이용하여 캡쳐한 화면이다.
아래에 있는 이미지는 다른 동영상을 켭쳐한 이미지이다.
다른 점이 있다면, 사각형이 없다는것이다. 이렇게 되면 제대로 캡쳐가 안된다.
아래 동영상 중간에 한번씩 사각형이 나타나는데, 예제 동영상처럼 나오지는 않는다.
참고 : https://www.youtube.com/watch?v=BtMs0ysTdkM
728x90
반응형
'Python' 카테고리의 다른 글
예제] mediapipe 를 이용하여 손 인식 하기 (0) | 2022.01.30 |
---|---|
예제] openCV 실시간 영상 배경 교체 - cvzone (0) | 2022.01.29 |
예제] openCV Motion Analysis - 객체 추적 (0) | 2022.01.28 |
자료형 리스트, 튜플, 딕셔너리, 셋 (0) | 2022.01.27 |
예제] CV 이용하여 mp4 캡쳐하기 (0) | 2022.01.26 |