프로그래밍/Python

[python] 아스키가 아닌 문자가 포함된 이미지 파일 로딩하기 (imread)

채윤아빠 2024. 5. 13. 08:41
728x90
반응형

문제점 및 증상

다음과 같이 OpenCV를 이용하여 이미지를 로딩하는데 파일 이름이 한글이 포함되어 있을 경우 다음과 같은 WARN이 발생하면서 이미지를 로딩하지 못하였습니다.

images_path='D:\\Dev\\Python\\python-test\\cv\\images'
image_file='D:\\Dev\\Python\\python-test\\cv\\images\\01비교-1.jpg'
[ WARN:0@0.014] global D:\a\opencv-python\opencv-python\opencv\modules\imgcodecs\src\loadsave.cpp (239) cv::findDecoder imread_('D:\Dev\Python\python-test\cv\images\01?

해결 방법

다음과 같이 "numpy"를 이용하여 로딩하면 됩니다.

from os import getcwd, listdir

import numpy as np

images_path = f'{getcwd()}\\images'
file_list = listdir(images_path)

for filename in file_list:
    image_file = f'{images_path}\\{filename}'
    img_color = cv.imdecode(np.fromfile(image_file, dtype=np.uint8), cv.IMREAD_UNCHANGED)

    # image processing...

참고자료