dlib으로 나만의 shape predictor를 만들자 (dlib에서 train_shape_predictor_ex.cpp실행하는 방법)
C,C++/DLib 2018. 6. 6. 19:531. 컴퓨터에 dlib을 설치한다.
2. Visual Studio로 빈 프로젝트를 생성한다.
3. http://dlib.net/face_landmark_detection_ex.cpp.html 이 코드가 dlib/examples/에 있을 것이다. 복사해서 빈 프로젝트에 넣고 VS에서 source file에 추가한다.
4. dlib/dlib/all/source.cpp 파일을 프로젝트에 추가하거나 소스파일 위에
#include "dlib/all/source.cpp"를 추가한다.
5. dlib/examples/faces폴더를 생성한 VS 프로젝트 폴더에 copy한다.
6. VS -> Project -> Property -> VC++ Directories -> Include Directories 에 dlib설치 폴더를 입력해준다.
ex) D:\Research\dlib\dlib-19.0
7. VS 프로젝트의 solution explorer에서 [프로젝트명]->오른클릭->Add ->existing item 에서 dlib/external/libjpeg/아래의 파일들을 추가해준다. jpeg파일을 읽어야 하므로..
8. VS -> Project -> Property -> C/C++ -> Preprocessor -> Preprocessor Definitions 에 아래 항목들을 추가해준다. jpeg파일 읽기 위해서. (https://stackoverflow.com/questions/32736149/how-to-load-jpeg-file-using-dlib-libarary참조)
DLIB_JPEG_STATIC
DLIB_JPEG_SUPPORT
9. Debug/Release모드 둘 다 설정해준다.
10. face_landmark_detection_ex.cpp의 헤더선언하는 아래 코드를 괄호 <>을 ""로 바꿔준다.
#include <dlib/image_processing.h>
#include <dlib/data_io.h>
내 컴퓨터에서는 이렇게 ""로 넣어줘야 되더라. 왜 그런지는 잘 모르겠음.
11.
a) 코드 초반부의
const std::string faces_directory = argv[1];
이 부분을 그대로 실행하기 위해서는
VS -> Project -> Property -> Debugging -> Command Arguments 를
[./train_shape_predictor_ex faces]
라고 적어준다.
b) 아니면
const std::string faces_directory = "./faces/";
처럼 상대주소를 적어줘도 된다.
12. F5를 눌러 실행한다.
Reference
[] https://sourceforge.net/p/dclib/discussion/442518/thread/cbb22954/
'C,C++ > DLib' 카테고리의 다른 글
Hi all, I just published a tutorial on how to tune dlib shape/landmark predictor (0) | 2019.12.24 |
---|---|
Shape predictor .dat file for 194 facelandmarks (helen dataset), dlib, 81 points (0) | 2018.05.16 |
Image convert to grayscale (0) | 2016.09.28 |
DLIB : Training Shape_predictor for 194 landmarks (helen dataset) (0) | 2016.09.28 |
[dlib]Compile dlib on Windows (0) | 2016.09.21 |