-
YOLO C++ detect 에러 (C2664)Computer Vision & AI/OpenCV 2022. 11. 9. 13:50
- 환경 & 증상
yolo_v2_class.hpp
yolo detect함수에서 에러가 발생
- 원인 파악 과정
인자가 다르다는 에러가 나옴.
detect함수에서 F12눌러서 코드 들어가보니
LIB_API std::vector<bbox_t> detect(std::string image_filename, float thresh = 0.2, bool use_mean = false); LIB_API std::vector<bbox_t> detect(image_t img, float thresh = 0.2, bool use_mean = false);
이렇게만 나오는데... 코드 짜신 분은 인자로 Mat을 넣어놨다. 그래서 안되나 싶었는데 그분은 잘 되셨음...
왜 나만 안되는걸까?!
- 해결방법
#ifdef OPENCV std::vector<bbox_t> detect(cv::Mat mat, float thresh = 0.2, bool use_mean = false) { if(mat.data == NULL) throw std::runtime_error("Image is empty"); auto image_ptr = mat_to_image_resize(mat); return detect_resized(*image_ptr, mat.cols, mat.rows, thresh, use_mean); }
이 함수를 탔어야 했는데 OPENCV가 비활성 상태였음.ㅎ
전처리기에 OPENCV추가해 주고 해결 완료!
'Computer Vision & AI > OpenCV' 카테고리의 다른 글
[OpenCV & C++] flip을 사용할 때 이미지가 반 갈라지는 문제 해결 (0) 2022.11.17 [OpenCV, C++] alpha 채널이 있는 이미지 합성(블랜딩) 오류 해결 (0) 2022.06.14