차근차근/OpenCV

c++ 이미지 불러오기 경로 설정

예쁜꽃이피었으면 2014. 7. 30. 10:00

어떻게 경로를 설정해도...

 

실행을 해보면

 

cannot open directory :C:\opencv\build\doc\caltech101_10\accordion\image_0001.jpg
계속하려면 아무 키나 누르십시오 . . .

 

이런식으로 나온다. 절대경로 인데도 읽지 못하는 이유가 뭐야..

 

 

 

1.  \ 를 \\로 바꿔본다.

 

warning C4129: 'D' : 문자 이스케이프 시퀀스를 인식할 수 없습니다.

​=>

string format 내에서 Esacape Sequence가 맞지 않다고 나오는 경고인데요

 

위의 구문에서 보자면 ("C:\Documents and Settings\the\My Documents\Visual Studio 2010\Projects\apple\Debug....

 

이러한 경로를 입력할 때 " " 내에서 \는 이스케이프 시퀀스의 시작을 알립니다. 보통 \n, \r, \t 등등이

 

많이 쓰이죠. 이처럼 \는 우리가 보통 사용할 때는 폴더의 구분을 표시하지만 " "내에서 사용할 때는

 

"\\" 이렇게 써줘야 폴더의 구분으로 인식하게 됩니다.

 

따라서 경로를 표시할 때는 " "내에 있는 모든 \는 \\ 로 바꿔줘야 됩니다.

1>------ 빌드 시작: 프로젝트: opencv2010, 구성: Debug Win32 ------
1>빌드 시작: 2014-07-23 오전 9:23:20
1>InitializeBuildStatus:
1>  "AlwaysCreate"이(가) 지정되었기 때문에 "Debug\opencv2010.unsuccessfulbuild"을(를) 만들고 있습니다.
1>ClCompile:
1>  modelDB.cpp
1>ManifestResourceCompile:
1>  모든 출력이 최신 상태입니다.
1>Manifest:
1>  모든 출력이 최신 상태입니다.
1>LinkEmbedManifest:
1>  모든 출력이 최신 상태입니다.
1>  opencv2010.vcxproj -> C:\uk1\vb2010\opencv2010\Debug\opencv2010.exe
1>FinalizeBuildStatus:
1>  "Debug\opencv2010.unsuccessfulbuild" 파일을 삭제하고 있습니다.
1>  "Debug\opencv2010.lastbuildstate"에 연결(touching)하고 있습니다.
1>
1>빌드했습니다.
1>
1>경과 시간: 00:00:02.51
========== 빌드: 성공 1, 실패 0, 최신 0, 생략 0 ==========
 

 

하지만 여전히 나오지 않는다.

cannot open directory :C:\opencv\build\doc\caltech101_10\accordion\image_0001.jpg
계속하려면 아무 키나 누르십시오 . . . 

 

 

 

2.

C:\\opencv\\build\\doc\\caltech101_10\\accordion

절대 경로이지만 파일명은 쓰지 않고 폴더까지만 지정해 줬다. 그랬더니..

 

OpenCV Error: The function/feature is not implemented (OpenCV was built without
SURF support) in cvExtractSURF, file ..\..\..\..\opencv\modules\legacy\src\featu
res2d.cpp, line 77
계속하려면 아무 키나 누르십시오 . . .

 

OpenCV의 오류 : 기능 / 기능은 구현되지 않았습니다.

 

=================================================================================================================

[2014.07.23 오후 1:18] 해결해결해결

line_characters_in_love-1

 


http://stackoverflow.com/questions/11175794/opencv-surf-function-is-not-implemented 


여기서 해결 실마리를 찾음.그리고 검색검색

 

그러니까~ 환경설정 추가로 하고

 

헤더에 # include <nonfree.hpp>이렇게 써주고

main함수 바로 아래에  (더 정확하게는 cvExtractSURF 함수 시작전에)

 

 cv::initModule_nonfree();

 

이렇게 써주면된다.

 

 

 

http://devmonster.tistory.com/31

[OpenCV] 2.4 이상 버전에서 SIFT + SURF 사용 설정 



http://thinkpiece.tistory.com/246

[OpenCV] Webcam을 이용해서 SIFT 매칭 예제 


반응형