이제 드디어 앞서 만든 비디오와 opencv로 얼굴인식을 할 차례입니다.
위 링크에서 OpenCV를 다운받아 usr/share/opencv/haarcascades로 복사합니다.
OpenCV에서 사용할 새로운 camcv를 아래 링크를 통해 다운로드합니다.
다운받은 파일을 라즈베리파이의 camcv폴더로 복사하세요.
파일이 바뀌었으니 CMakeLists.txt파일을 수정해야 합니다.
1 | sudo nano CMakeLists.txt | cs |
기존 camcv.c 대신 camcv_vid1.cpp로 변경한 후 저장하고 나오세요.
이제 얼굴에 대한 DB가 필요한데 일단은 테스트용으로 아래 파일을 받아주세요.
첨부된 파일을 다운받아 /home/pi/camcv/others/에 복사해줍니다.
이제 build를 해보겠습니다.
1 2 | sudo cmake . sudo make | cs |
만약 아래 에러가 발생하면 contrb.hpp파일을 변경해줘야 합니다.
다운받은 파일을 /usr/include/opencv2/contrib/contrib.hpp 파일을 교체해 주세요.
이제 다시 빌드하세요.
1 2 | sudo cmake . sudo make | cs |
others 폴더에 있는 사진들을 임의로 프린트해서 준비합니다.
1 | ./camcv others/csv.txt l 5500 | cs |
위와 같이 명령어를 넣으면 카메라가 시작되는데 아무래도 사진이 많아 시간이 오래걸립니다.
사진을 좀 추리시거나 숫자를 조금 낮추면 시간이 줄어듭니다.
뒤의 숫자가 낮으면 정확도가 좀 떨어집니다.
사진과 이름을 바꾸는 방법입니다.
csv.txt 파일을 열어보시면
위와 같은 구조인데 ";"를 기준으로 왼쪽은 사진파일명이고, 오른쪽은 ID입니다.
사진과 카메라를 비교해서 이 ID값으로 이름을 가져오게 됩니다.
다시 소스(camcv_vid1.cpp)로 가셔서 Line 65로 가보시면
여기에 ID가 define되어 있습니다.
그리고 Line 661 로 가보시면
모니터로 표시해 줄 이름을 적는 곳이 나옵니다.
아까 다운받은 사진을 보시면 사람마다 10장씩 찍어놓았는데 사진의 수가 많아지면 정확도가
높아집니다만, 실행속도는 저하됩니다.
'Projects > OpenCV for RaspberryPi' 카테고리의 다른 글
OpenCV for RaspberryPi 3(Rapsbian Stretch) 2-PI 카메라 촬영 (0) | 2017.09.15 |
---|---|
OpenCV for RaspberryPi 3(Rapsbian Stretch) 1-준비하기 (0) | 2017.09.15 |
OPENCV RASPBERRY PI3 (JESSIE) 5 - Video (2) | 2017.04.12 |
OPENCV RASPBERRY PI3 (JESSIE) 4 - OPENCV 라이브러리 (16) | 2017.04.12 |
OpenCV Raspberry Pi3 (JESSIE) 3 - STILL SHOT(스틸 샷) (7) | 2017.04.12 |