320x100
테스트환경은 아래와 같다.
라즈베리파이3/4 (둘 다 테스트) buster
OpenCV 4.1.0
Keras 2.4.3
.일단 라즈베리파이이다보니 너무 느려서 사진 크기도 줄이고 흑백사진으로 디스플레이했다.
3은 답답할 정도로 느리다 ...
모델은 아래의 링크에 있다.
https://github.com/opencv/opencv/tree/master/data/haarcascades
사람을 인식하기 위해 fullbody를 사용했다.
아래는 소스코드
import cv2
import numpy as np
from matplotlib import pyplot as plt
from keras.models import load_model
body_cascade = cv2.CascadeClassifier('./models/haarcascade_fullbody.xml')
def tracking():
cap=cv2.VideoCapture(0)
cap.set(3,320)
cap.set(4,240)
while True:
ret, frame = cap.read()
cv2.imshow('video',frame)
gray_image = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
rgb_image = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
body = body_cascade.detectMultiScale(gray_image, 1.01, 10)
for (x,y,w,h) in body:
cv2.rectangle(gray_image, (x,y), (x+w, y+h), (0,0,255),3)
cv2.imshow('video',gray_image)
if cv2.waitKey(1) & 0xff == ord('q'):
break
cap.release()
tracking()
cv2.destroyAllwindosws()
결과물은 구글에 사람이라고 쳐서 카메라를 비췄다.
실제로 복잡한 환경에서 나를 비췄을 때 인식을 하기도하는데...
이상한 곳을 인식하기도 하고 인식을 못할때도 있고...
뭔가 결과물로 내놓기에는 아쉬웠다.
그러나 학교 프로젝트정도로는 사용해도 되겠다.
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[Python] Teachable Machine 이미지 프로젝트(Tensorflow Lite) (0) | 2022.12.07 |
---|---|
[Python] OpenCV 사람 표정 검출(라즈베리파이) (0) | 2022.11.11 |
[Python] OpenCV 영상 출력(너비, 높이, 프레임) (1) | 2022.10.07 |
[Python] OpenCV 이미지 출력 (0) | 2022.10.06 |
[Python] OpenCV란 (0) | 2022.10.06 |
댓글