안녕하세요. 오늘 다뤄볼 내용은 OpenCV를 debugging하는 tool 하나를 소개해드리는 시간을 갖도록 하겠습니다.
OpenCV 디버깅 툴 이름은 이미지 워치인데요. 이곳에서 받으시면 됩니다.<Image Watch 다운로드>
요구사항
Visual Studio 2012 버전 이상이 필요합니다.
영상처리하면서 가장 귀찮은 작업을 덜어주는 툴입니다.
영상을 읽고 처리 도중에 dump data를 만들어서 저장하고 다시 확인하는 귀찮은 작업을 덜어줄 수 있습니다.
이미지 워치는 cv::Mat에 들어있는 이미지를 읽어서 파일로 저장하지 않은 상황에서 바로 visualization 시켜주는 툴이라고 보시면 됩니다.
1. Image Watch 설치
OpenCV 디버깅 툴 이름은 이미지 워치인데요. 이곳에서 받으시면 됩니다.<Image Watch 다운로드>
요구사항
Visual Studio 2012 버전 이상이 필요합니다.
영상처리하면서 가장 귀찮은 작업을 덜어주는 툴입니다.
영상을 읽고 처리 도중에 dump data를 만들어서 저장하고 다시 확인하는 귀찮은 작업을 덜어줄 수 있습니다.
이미지 워치는 cv::Mat에 들어있는 이미지를 읽어서 파일로 저장하지 않은 상황에서 바로 visualization 시켜주는 툴이라고 보시면 됩니다.
2. Image Watch 사용법
OpenCV로 작성된 코드를 디버깅 모드로 빌드하신 후
디버깅 모드 빌드에는
opencv_world<OpenCV_version>d.dll
가 있어야 빌드가 가능하니 참고 바랍니다. 뒤에 d가 debug에 약자라고 보시면 됩니다.
디버깅 모드로 break point를 잡으신 다음 디버깅 모드를 키시고 메뉴에 View -> Other Windows -> Image Watch를 키시면 됩니다.
간단하게 canny edge를 검출하는 코드로 테스트 해보았습니다.
비주얼 스튜디오 2015에 창을 추가한 모습 |
이런식으로 메모리상에 있는 이미지를 자동으로 찾아서 띄워주게 됩니다.
해당 이미지를 바이너리 형태로 dump를 생성할 수 있고 이미지 확대, 축소(마우스 휠 이용), 좌표 위치의 픽셀값들을 확인할 수 있습니다.
lenna의 눈 부분 확대한 그림 |
확대하였을때 픽셀값의 value가 보이는것을 확인하실 수 있습니다.
Canny edge 검출된 모습을 뷰어로 바로 확인한 모습 |
Image watch tool 정말 쓸모있네요. 원래는 debugging 함수를 사용하여 imshow로 확인하는 작업을 했었는데요. 이 단계를 없애주는 고마운 툴입니다. 여러분도 잘 활용하셔서 OpenCV 코딩에 도움이 되셨으면 좋겠습니다.