#2 imread 이미지 불러오기 오류
imread 함수로 이미지 파일을 불러오려는데 계속해서 실패했다.
프로젝트 안에서 별다른 이미지 작업을 하는 게 아니고 imread 함수를 호출만 하는 거라면 경로 지정의 문제라고 보면 된다.
경로 지정 방식은 두 가지로 나뉜다.
- 절대 경로
- 상대 경로
절대 경로란, 작업하고 있는 pc 기준 불러오려는 파일의 정확한 위치를 의미하고
상대 경로란, 파일의 상대적인 위치를 의미한다.
절대 경로의 작성 방식은 파일의 위치를 그대로 적어주면 되고
상대 경로는 프로젝트가 저장된 폴더 내부에 불러오고자 하는 파일들이 담긴 폴더가 있다면, (Ex. 프로젝트 폴더>폴더>파일 )
다음과 같이 사용하면 된다.
#위의 조건에서의 상대 경로
./(폴더명)/(파일명)
오류가 나기 전엔 절대 경로를 사용하고 있었는데 폴더를 이동하면서 입력된 경로에 문제가 있었다.
상대 경로 방식으로 작성한 이후엔 해결이 되었다.
상대 경로
상대 경로에 대해 기억하고자 적어두자면,
상대 경로 작성 방식은 다음과 같다.
기호 | 의미 |
/ | root |
./ | 현재 위치 |
../ | 상위 경로 |
다음과 같은 기호를 참고하여 작성하면 된다.
상위 경로로 이동하고자 하면 ../를 사용해 이동하면 된다.
위와 같이 OpenCV-by-Python(프로젝트 폴더)에 하위 폴더들(Dat, Images, OpenCV, Xml)이 있다.
예를 들어 Xml 폴더 내부의 ~.xml 파일을 작업하고 있고, OpenCV 폴더 내부의 ~.py 파일로 이동하고 싶다고 가정해보자.
~.py 파일에 접근하기까지의 과정은 "Xml 폴더에서 벗어나 OpenCV 폴더에 접근하여 해당 파일로 이동" 하는 것이다.
따라서 상대 경로로 나타내면 다음과 같다.
#Xml 폴더에서 벗어나 OpenCV 폴더에 접근하여 해당 파일로 이동
../OpenCV/~.py
이런 방식으로 상대 경로를 사용하면 된다.