반응형

본 포스팅에 대한 업데이트된 문서가 존재합니다..


Visual Studio 2017/2019에서 OpenCV 4.4.0를 사용하는 방법

http://webnautes.tistory.com/1132





크리스마스 이브 전날에 OpenCV 3.2가 나왔었네요.. 거의 1년 만에 나온 듯합니다.   http://opencv.org/downloads.html 에서OpenCV for Windows를 선택하여 다운로드를하면 opencv-3.2.0-vc14.exe 파일이 다운로드 됩니다. 





압축이 풀릴 경로를 C:\로 바꾸고 Extract를 클릭해서 압축을 풀어주었습니다.  주의할 점은 기존 설치된 OpenCV 3.1과 같은 디렉터리(c:\opencv\)에 압축이 풀리기 때문에  OpenCV 3.1 설치된 것을 삭제하던가 아니면 디렉터리 이름을 바꾸어 주어야 합니다..





이번에 배포된 파일의 이름(opencv-3.2.0-vc14.exe) 에서도 알 수 있듯이..  VC14( Visual Studio 2015  ) 64비트용만 빌드되어 있습니다. 다른 버전의 Visual Studio를 사용하거나 32비트용이 필요하면 빌드를 새로 해주어야 합니다.





이제 설정하는 과정을 설명합니다..


1. 새로운 Win32 콘솔 응용 프로그램 프로젝트를 새로 생성합니다.






2. 빈 프로젝트 선택하고, SDL은 체크 해제해주었습니다.





3. 솔루션 탐색기에서 소스파일을 선택하고 마우스 우클릭하여 나온 메뉴에서 "추가 > 새 항목"을 차례로 선택해줍니다.





4. C++ 파일을 선택하고 이름을 main.cpp로 바꾸고 추가를 클릭합니다.





5. Visual Studio 메뉴바에 있는 솔루션 플랫폼을 x64로 변경합니다.





6. 메뉴에서 "프로젝트 > 속성"을 선택합니다.  C/C++에 있는 추가 포함 디렉터리 항목에 c:\opencv\build\include를 추가해줍니다.





7. 링커에서 추가 라이브러리 디렉터리 항목에 c:\opencv\build\x64\vc14\lib를 입력합니다.





8.  링커-입력의 추가 종속성 항목에 opencv_world320d.lib;를 추가해줍니다.





9. c:\opencv\build\x64\vc14\bin 경로에 있는 opencv_world320.dll, opencv_world320d.dll, opencv_ffmpeg320_64.dll를 프로젝트 폴더의 "x64 > Debug" 디렉토리로 복사해줍니다.  

아직 관련 설정은 안했지만 opencv_world320.dll는 릴리즈로 컴파일시를 대비해서 복사해둡니다.






10. 웹캠으로부터 영상을 읽어와 화면에 출력해주는 예제를 main.cpp에 붙여넣고서 태스트해보았는데 문제 없이 잘 동작합니다..


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include "opencv2/opencv.hpp"  
#include <iostream>  
  
using namespace cv;  
using namespace std;  
  
  
  
int main(intchar**)  
{  
    //웹캡으로 부터 데이터 읽어오기 위해 준비  
    VideoCapture capture(0);  
    if (!capture.isOpened())  
    {  
        cout << "웹캠을 열수 없습니다." << endl;
        return 1;
    }  
  
    //캡처 영상을 320x240으로 지정  
    capture.set(CAP_PROP_FRAME_WIDTH,320);  
    capture.set(CAP_PROP_FRAME_HEIGHT,240);  
  
  
    Mat frame;  
    namedWindow("input"1);  
  
 
    while(1)  
    {  
        //웹캡으로부터 한 프레임을 읽어옴  
        capture >> frame;  
  
        //화면에 영상을 보여줌
        imshow("input", frame);  
  
       //ESC키 누르면 종료
       if (waitKey(1== 27 ) break;
    }  
    
    return 0;  
}  
cs


반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.

도움이 되셨다면 토스아이디로 후원해주세요.
https://toss.me/momo2024


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts