bskyvision RSS 태그 관리 글쓰기 방명록 kyohoonsim@gmail.com
2021-01-08 09:08:02

어떤 디렉토리 내에 존재하는 모든 이미지 파일들을 cv2.imread 등의 방식으로 읽고 싶다면, 일단 각 이미지 파일의 경로를 알아야합니다. 저는 그것을 리스트에 하나씩 담아주도록 하겠습니다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import os
 
root_dir = 'C:/Users/Sim/Desktop/test' # 디렉토리
 
img_path_list = []
possible_img_extension = ['.jpg''.jpeg''.JPG''.bmp''.png'# 이미지 확장자들
 
for (root, dirs, files) in os.walk(root_dir):
    if len(files) > 0:
        for file_name in files:
            if os.path.splitext(file_name)[1in possible_img_extension:
                img_path = root + '/' + file_name
                
                # 경로에서 \를 모두 /로 바꿔줘야함
                img_path = img_path.replace('\\''/'# \는 \\로 나타내야함         
                img_path_list.append(img_path)
                             
print(img_path_list)
cs

 

위와 같이 코딩해주면, 바탕화면에 있는 test 디렉토리(C:\Users\Sim\Desktop\test) 내에 존재하는 모든 이미지 파일들의 경로를 리스트의 형태로 얻을 수 있습니다. 참고로 test 디렉토리 내부는 다음과 같은 트리 구조를 갖고 있습니다. 

 

 

위 코드를 통해 얻은 test 디렉토리 내 이미지들의 경로 리스트입니다. 

 

 

만약 디렉토리 내에 다른 확장자의 이미지들이 존재한다면, possible_img_extension 리스트에 추가해주시면 됩니다. 

 

댓글