반응형

내가 문제 생겼을 때 보기 위한 오류해결

  • C2146 : ';'이(가) 'pixel_type' 식별자 앞에 없습니다. 
  • C2027 : 정의되지 않은 형식 'dlib::image_traits<image_type>'을(를) 사용했습니다.
  • C4430 : 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다.

일단 저기 Don't add anymore은 그냥 지금 프로젝트를 계속 여러번 테스트하며 하고 있어서 더 이상 추가안한다는 것

 

Dlib 라이브러리를 쓸 때 가끔 이래 뜬다..

이 오류는 내 문제에 대한건 그냥 dlib에 이미지 파일을 넣을 때 그 함수의 지원되지 않는 이미지 변수를 넣어서 그런 것 같음..

 

해결

해결 방법은 그냥 dlib가 지원하는 이미지 변수로 넣으면 아마 될 것이다..!

auto face = detector(camImg);

내 경우 얼굴 인식 때문에 하고 있는데

현재 저 camImg가 OpenCV의 Mat 자료형이다.

 

근데 Dlib에서 OpenCV의 자료형을 넣어버리면 분명 오류를 낼꺼다.. 자기꺼도 아닌데 (왜 넣냐고 나보고 어쩌라고..) 할 것이다.

그래서 간단하게 해결할려면 Dlib에서 지원하는 자료형으로 변환하면 되는 것임!

dlib::cv_image<dlib::bgr_pixel> cimg(camImg);
auto face = detector(camImg);

이렇게 하면 되는 것임..!

dlib의 cv_image가 OpenCV의 이미지를 Dlib의 매트릭스로 바꿔주는 그런 것인 듯

 

어쨋든 그런 것임!

 

요약

Dlib가 지원하는 자료형으로 이미지 넣으면 됨

반응형

+ Recent posts