OpenCV + Qt framework 설치 in Windows
1. OpenCV 설치 or Qt 설치
단순하게 OpenCV 설치 혹은 QT 설치를 원한다면
- http://docs.opencv.org/2.4/doc/tutorials/introduction/table_of_content_introduction/table_of_content_introduction.html#table-of-content-introduction
- http://www.qt.io/
위의 두 링크를 참조하기 바랍니다.
하지만, opencv에서 qt framework를 사용하여 추가적인 이점을 꾀하신다면 아래의 과정을 밟아주세요.
아래에서 보는 바와 같이 Qt framework를 사용하면 이점이 있다고 합니다. 이점에 관련된 내용은 highgui에서 찾아 보시고 저는 설치방법에 대해서만 설명하겠습니다.
하지만, opencv에서 qt framework를 사용하여 추가적인 이점을 꾀하신다면 아래의 과정을 밟아주세요.
아래에서 보는 바와 같이 Qt framework를 사용하면 이점이 있다고 합니다. 이점에 관련된 내용은 highgui에서 찾아 보시고 저는 설치방법에 대해서만 설명하겠습니다.
- OpenCV offers a somewhat fancier and more useful graphical user interface, than the default one by using the Qt framework. For a quick overview of what this has to offer look into the documentations highgui module, under the Qt New Functions section. Version 4.6 or later of the framework is required.
2. OpenCV + Qt framework 설치
opencv 혹은 qt를 따로 설치하는 것이 아닌 opencv에서 qt framework를 사용하고 싶다면 아래의 순차대로 설치하면 됩니다.
(Linux에서는 참 쉬운데 ㅜ_ㅠ windows에서는 꽤나 고생했습니다.)
2.1 CMake 설치
위의 링크에서 설치하자. 자세한 내용은 생략한다.* 필요에 따라 path 설정을 해주시기 바랍니다.
2.2 MinGW 설치
위의 링크에서 설치하자. 자세한 내용은 생략한다.* 사실 qt를 설치할때 일반적으로 qtcreator와 mingw등 기본설정으로 같이 설치되니 path설정만 잘 한다면 설치하지 않으셔도 됩니다.
2.3 Qt 설치
마찬가지로 위의 링크에서 설치하면 됩니다. 필자는 online-installer로 설치하였습니다. 설치시에 mingw버전으로 설치하여 주시기 바랍니다.2.4 OpenCV 설치
위의 링크에서 opencv를 windows 버전으로 받아주시기 바랍니다. 설치가 완료된다면 build, sources, License.txt, README.md 이렇게 4개의 파일을 볼수 있습니다. README.md, License.txt는 시간나시면 한번 읽어 보세요.(설명서는 잘 읽어야 합니다. ^_^)build 폴더는 visual_studio에서 사용하기 위에 pre-compiled 된 녀석입니다. 지금은 굳이 신경쓰지 않으셔도 됩니다.
3. OpenCV 빌드
3.1 CMake configure
- CMake-gui를 켜고 opencv\sources 안의 CMakeLists.txt 파일을 configure 합니다.
- 여러 설정값 중 WITH_QT option을 check합니다.
- BUILD_EXAMPLES 혹은 BUILD_DOCS 등의 option을 사용자 원하는 대로 check합시다. 참고로 BUILD_DOCS를 컴파일 하기 위해서는 3.x 버전은 doxygen 2.x 버전은 shpinx를 추가로 설치 하셔야 합니다.
3.2 Qt Path 설정
- 앞선 과정을 마치고 다시 한번 configure를 하면 QT5관련 여러 option에서 관련 path를 찾을 수 없다고 합니다.
- system path에 Qt를 추가합시다. (C:\Qt\5.4\mingw491_32)
- 필자의 path를 그대로 입력하지 말고 qt를 설치한 path를 사용자에 맞게 그대로 추가해 줍시다.필자는 C:\Qt에 Qt를 설치하였습니다.
3.3 CMake Configure & Generate
- 다시 configure를 하면 QT5 설정이 모두 자동으로 찾아질 것입니다.
- configure가 완료되면 generate 버튼을 눌러줍니다.
- generate가 완료되면 make file이 생성되는 것을 알 수 있습니다.
3.4 Make
- make file이 있는 디렉토리에서 mingw32-make를 실행합시다. (cmd)
- make 옵션으로는 -j4를 줍니다. (안하셔도 됩니다.)
- mingw32-make install
- 완료되면 install 폴더가 생기며 OpenCV 설치시 생기는 build 폴더와 비슷한 파일트리를 가지는 것을 확인할 수 있습니다.
- 예쁘게 관리하시려면 install pre-fix path를 잘 설정해 보세요 ^_^
3.5 끝
- 추가적인 내용을 더 적자면 install 된 폴더를 system path로 넣는 것을 추천합니다. CMake 사용자라면 이와 같이 path를 추가해두면 find_package를 통해 쉽게 라이브러리를 사용할 수 있습니다.
- Visual studio 혹은 QtCreator 등 IDE의 사용법을 설명하지는 않겠습니다.
- 여러 종류의 compile된 dll파일을 사용하시면 path 설정이 어려우니 신중하게 path설정을 해주세요.
- 필자는 dll path는 system path로 넣지 않고 IDE에서 추가하는 방향을 추천합니다.
8. 결과
- Qt Framework는 OpenCV에서 권장하는 framework로 일반적으로 OpenCV를 사용하는 것 보다 좀 더 많은 추가 기능을 제공합니다.
- 그중 하나로 아래와 같이 마우스 휠을 통해 확대 및 축소가 되며 pixel값을 쉽게 확인할 수 있습니다.
오웅 신기하네요
답글삭제맨아래 기능은 어떻게 사용하나요?
QT에서 그냥 imshow해도 안되네용.. 키워드좀알수있을까요?
opencv를 컴파일 하실때 WITH_QT 옵션을 켜야 가능한 기능입니다. 위에서 설명한 방법대로 설치를 하셨나요?
답글삭제visual에서 사용할려고 msvc로 컴파일하다가 자꾸 실패하여
삭제mingw으로 하고있습니다 ㅠㅠ
한가지 궁금한게 mingw32로 빌드중인데 Debug랑 Release 나눠서 되나요? 아니면 둘다해줘야하나요?...
둘 중 아무거나 사용하시면 됩니다. ^_^
삭제vc14 컴파일러 사용했으며, gcc 역시 가능합니다.
안녕하세요!
답글삭제Qt와 OpenCV를 이용해 프로그램을 개발해보고 싶어서
자료를 찾던중에 궁금한점이 생겨서 질문을 남깁니다!
1.OpenCV에는 기본적으로 highgui라는 모듈이 존재합니다.
그럼에도 불구하고 굳이 Qt를 따로 설치해주는 이유가 뭔가요?
OpenCV의 highgui 문서를 참조해보니 Qt를 따로 설치할 경우 더 많은 함수가 지원되는거 같던데 이러한 이유가 전부인가요?
2.Qt를 따로 설치 할 경우에 궁금한 점이 있습니다.
첫번째, Qt,OpenCV를 따로 설치한 후 연동하여 사용하는 경우와
두번째, Qt를 설치하고 OpenCV 설치중에 WITH_QT옵션을 ENABLE하는 경우
두가지 경우에 결과적으로는 어떤 차이가 있나요?
질문이 이해가 안되신다면 더 자세히 설명드리겠습니다!
읽어주셔서 감사합니다!
작성자가 댓글을 삭제했습니다.
삭제아 그리고 WITH_QT옵션을 enable했을때는 MSVC로는 빌드가 불가능한건가요?..
삭제1. 네. 더 많은 함수를 지원하기기 때문에 사용합니다.
삭제2. 결과적으로 highgui 모듈을 사용할 때 with_qt 옵션을 켰다면 내부적으로 qt를 사용할 것이고, 아니라면 기본 API를 사용하겠지요.
3. with_qt옵션을 MSVC로 빌드 가능합니다. QT 역시 같은 MSVC로 컴파일 해주셔야 합니다.
우선 친절한 답변 감사합니다 ^^
삭제근데 3번이 잘 이해가 안되서 그러는데요 qt를 같은 msvc로 컴파일해줘야 한다는게 무슨말인가요?..
msvc컴파일러는 버전에 따라 종류가 많습니다. 예로 들면, visual studio 2015는 패키지 명이 vc14이며, 버전은 1900입니다. 자세한 사항은 아래의 링크를 참조해주세요.
삭제https://ko.wikipedia.org/wiki/비주얼_C%2B%2B
다시 정리하자면, qt library를 빌드할 때 위의 컴파일러 버전이 같아야 이용가능하다는 내용입니다. 즉, qt와 opencv를 같이 이용하기 위해서는 같은 컴파일러로 빌드해야 되니 같은 버전의 visual studio를 이용하시면 됩니다.
작성자가 댓글을 삭제했습니다.
답글삭제