๊ฐ์ฒด ๊ฒ์ถ ๋ชจ๋ธ์ค Yolo ์ ์ด์ด haarcascade ์ ๋ํด ์ดํด๋ณด์๋ค.
- $ git clone https://github.com/opencv/opencv.git
<๋ฐํํ๋ฉด์ ์ฐ์ธก ํด๋ฆญํ์ฌ ' Git Bash Here '
๊ทธ๋ฆฌ๊ณ ๋๋ฉด, ๋ฐํํ๋ฉด(ํด๋น ์์น) ์ opencv ํด๋ ํ๋๊ฐ ์์ฑ๋์ด ์์์ ํ์ธํ ์ ์๋ค.
๊ทธ ํด๋๋ฅผ vsc(ํ์ ๊ธฐ์ค) ๋ก ์ด์ด์ค๋ค.
๊ทธํ์ ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด opencv/data/haarcascades/ ์ 'camera.py' ํ์ผ์ ์์ฑํด์ค [ํ์ผ ์ด๋ฆ์ ๋ง๋๋ก~]
๊ทธ๋ฆฌ๊ณ camera.py ํ์ผ ์์ ์๋ ์์ค๋ฅผ ๋ณต๋ถํด์ค๋ค.
# simpleCamTest.py
import numpy as np
import cv2
faceCascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eyeCascade = cv2.CascadeClassifier('haarcascade_eye.xml')
def detect(gray,frame):
faces = faceCascade.detectMultiScale(gray, scaleFactor=1.05, minNeighbors=5,minSize=(100,100),flags=cv2.CASCADE_SCALE_IMAGE)
for(x,y,w,h) in faces:
cv2.rectangle(frame,(x,y),(x+w,y+h),(255,0,0),2)
face_gray=gray[y:y+h,x:x+w]
face_color=frame[y:y+h,x:x+w]
eyes=eyeCascade.detectMultiScale(face_gray,1.1,3)
for(ex, ey,ew,eh) in eyes:
cv2.rectangle(face_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
return frame
video_capture = cv2.VideoCapture(0)
while(True):
_, frame =video_capture.read()
#frame = cv2.flip(frame,-1)
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
canvas=detect(gray,frame)
cv2.imshow('canvas',canvas)
if cv2.waitKey(30) == 27: #esc
break
video_capture.release()
cv2.destroyAllWindows()
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก ctrl+shift+`(ํธ๋ค ์) ๋ฅผ ๋์์ ๋๋ฌ ํฐ๋ฏธ๋์ ์ด์ด์ค๋ค.
๊ทธ๋ฆฌ๊ณ cd data/haarcascades ๋ฅผ ์ ๋ ฅํ ์ํฐ ์น๋ฉด, ์๋ ์ฌ์ง ์ฒ๋ผ ๊ฒฝ๋ก๊ฐ ์ค์ ๋จ์ ํ์ธ ํ ์ ์๋ค.
๋ง์ง๋ง์ผ๋ก python camera.py ๋ฅผ ๋ช ๋ น์ด์ ์ ๋ ฅํ ์ํฐํ๋ฉด, ์คํ์ด ๋๋ค.
![](https://t1.daumcdn.net/keditor/emoticon/niniz/large/002.gif)
์ฐธ๊ณ ์ฌ์ดํธ (์ถ๊ฐ์ ์ธ ์ฝ๋์ ๋ํ ์ค๋ช ์ด ํ์ํ์ ๋ถ์ ์๋ ์ฌ์ดํธ ์ฐธ๊ณ )
'๋ฅ๋ฌ๋๐ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DB๋ฅผ Flask-SQLAlchemy ORM Model (0) | 2022.04.25 |
---|---|
Python Face Recognition in Real Time - ํ์ด์ฌ ์ผ๊ตด ์ธ์ (0) | 2022.04.25 |
mvnw ์คํ (1) | 2022.03.23 |
CUDA , CUDNN , YOLO (0) | 2022.03.23 |
Flask (ํ๋ผ์คํฌ) (1) | 2022.03.23 |