728x90
반응형
기존 Ubuntu에서 작업하던 때는 잘 동작하던 것이 Windows로 오니 이미지를 로딩하지 못한다.
img = cv2.imread($IMG_PATH)
이때 img의 type을 출력해보면 NoneType이 뜨면서 제대로 읽지못한다.
원인은 대다수 path문제라는데 나는 제대로 Window에 맞도록 경로도 정의해놨었다.
C:\\Users\\USERNAME\\Desktop\\FOLDER_NAME\\Download.jpg
알고보니 원인은 경로 중간에 포함되어 있던 한글 폴더...
간단한 방법은 폴더 이름을 영어로 수정하면 되지만, 다량의 폴더 또는 불가피한 사유로 한글 폴더를 수정할 수 없다는 전제하에 아래 코드를 통해 해결할 수 있다.
def HangulFormat(file_path):
f = open(file_path.encode("utf-8"),"rb")
bytes = bytearray(f.read())
npArr = np.asarray(bytes, dtype=np.uint8)
return cv2.imdecode(npArr, cv2.IMREAD_UNCHANGED)
Open()함수로 UTF-8형태로 Encoding한 파일을 Byte형태로 읽어 들인 후, ByteArray타입으로 변경.
Numpy array로 bytearray를 numpyarray로 변경한 후, cv2.imdecode 함수로 decoding 수행.
......그냥 폴더 이름 변경하는게 빠르다.
아래 블로그를 내용을 단순 참고용으로 재 작성하였습니다. 도움을 주셔서 감사합니다.
728x90
반응형
'사소한 Tip . 오류 해결법' 카테고리의 다른 글
Jupyter notebook Anaconda 가상환경 (2) | 2020.09.23 |
---|---|
AttributeError: module 'keras.backend' has no attribute 'image_dim_ordering' (0) | 2020.09.22 |
논문 상 Reference에 홈페이지 추가하기 (0) | 2020.08.24 |
멈춘 도커 컨테이너 복구 (Docker : Restoring stopped container by commit) (0) | 2020.08.23 |
Firefox : Reason: CORS request not http / The Same Origin Policy disallows reading the remote resource 오류 해결 (0) | 2020.07.07 |