Program Language/OpenCV

(OpenCV) SULF 해보기

야곰야곰+책벌레 2024. 5. 21. 11:17
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
반응형