mex 외부 라이브러리 호출 방법(OpenCV의 경우)

1157 단어 opencvmex
얼마 전에 Opencv 라이브러리를 호출한 글인 matlab에서 Opencv 함수를 호출했지만 프로그램 예시가 없습니다. 이번에는 간단한 이미지 복사로 과정을 보여 드리겠습니다.
    
여기에는 OpenCV의 cvtColor 함수를 예로 들 수 있습니다.프로그램 작성이 완료되면 matlab에서 mex 명령을 사용하여 해당하는 mex 파일을 생성합니다.
mex -g genCopyImage.cpp -I'D:\Program Files\OpenCV2.4.6\opencv\build\include' -I'D:\Program Files\OpenCV2.4.6\opencv\build\include\opencv' -I'D:\Program Files\OpenCV2.4.6\opencv\build\include\opencv2' -L'D:\Program Files\OpenCV2.4.6\opencv\build\x86\vc9\lib' -lopencv_core246d -lopencv_highgui246d -lopencv_imgproc246d

참고:
         1、genCopyImage.cpp는 MEX 파일을 생성하는 마스터 파일입니다.
2. - I 후의 문자열은 opencv 헤더 파일 경로입니다.
3, -L 이후 문자열은 opencv의 Lib 경로, -lopencvml246d-lopencv_core246d, 프로그램 실행에 필요한lib.
4.'-g'파라미터를 추가하면 디버깅 가능한mex 파일을 생성할 수 있습니다. 디버깅 불가능한mex 파일을 생성하는 것을 제거합니다.
matlab에서 프로그램 mexTest를 작성합니다.m 테스트를 진행하여 최종적으로 출력 결과를 얻습니다.
실행 중 Matlab에 '... 사용할 수 있는 지정 모듈을 찾을 수 없습니다.' 는lib에 대응하는 동적 링크 라이브러리 (윈도우즈 아래는 dll 파일) 를 찾을 수 없기 때문입니다. 이 때 동적 링크 라이브러리의 경로를 컴퓨터 시스템의 환경 변수에 추가하거나 (가입 후 로그아웃하거나 다시 시작해야 함) 실행 파일의 동급 디렉터리에 넣어야 합니다.
   

좋은 웹페이지 즐겨찾기