728x90
반응형
패턴의 각도를 구할 필요가 생겨서 SULF를 구현해 보기로 했다. 머리가 복잡한데 어려운 아이를 해보려니 시간도 지식도 부족해서 곤란하던 차에 OpenCV에서 SULF를 지원한다는 걸 알게 되었다.
opencv_contrib 어쩌고 하는 녀석을 cmake에서 추가해 주면 가능했다. (처음에 헤드 파일 없다고 생쇼를 했다)
그리고 구글링해서 따라 해 봤다. 그런데 이상하게 특징점은 잘 찼는데 영역을 못 잡아 냈다. 이렇게 말이다.
구글링을 해봐도 특징점이 제대로 잡지 못하면 그럴 수 있다고 했지만 아무리 봐도 제대로 잡은 것 같고 못 잡았더라도 너무 엉뚱한 곳을 찾아냈다. 하루를 지나 다음날 가만히 들여다보니 코드가 잘못되었다. 복붙 하다가 잘못한 건지 잘못된 예제를 따라한 건지는 잘 모르겠다. 그리고 고치니까 잘된다.
trainIdx를 써야 할 곳에 queryIdx를 쓴 것이었다. 뜨아~
for (size_t i = 0; i < good_matches.size(); i++)
{
// Get the keypoints from the good matches
objects.push_back(keyPoints1[good_matches[i].queryIdx].pt);
scenes.push_back(keyPoints2[good_matches[i].trainIdx].pt);
}
728x90
반응형
'Program Language > OpenCV' 카테고리의 다른 글
error C3861: 'min': identifier not found (1) | 2024.01.11 |
---|---|
(OpenCV) LNK2019: unresolved external symbol "class cv::debug_build_guard::_InputOutputArray .... (0) | 2024.01.10 |
MFC에서 OpenCV 사용 시 메모리 누수 해결 (0) | 2022.08.23 |