Divide and Conquer

[Python] 자율주행 손상된 이미지 삭제 코드 본문

성장캐/기타

[Python] 자율주행 손상된 이미지 삭제 코드

10살 2022. 5. 25. 13:58
728x90
# 많이 없으면 직접 확인 후 지우고
import PIL
from PIL import UnidentifiedImageError
import glob

imgs_ = glob.glob('dataset/blocked/85175e6a-c07d-11ec-a207-16f63a1aa8c9.jpg')

for img in imgs_:
    try:
        img = PIL.Image.open(img)
    except PIL.UnidentifiedImageError:
        print('error')
        print(img)

 

#이미지 검사할 폴더에 코드 넣으면 돼

import sys, os
from PIL import Image

def createFolder():
    p = os.getcwd()
    path = p.replace('\\', '/')
    directory = os.path.join(path, "Error image")
    try:
        if not os.path.exists(directory):
            os.makedirs(directory)
    except OSError:
        print ('Error: Creating directory. ' +  directory)
    return directory

#path = 'C:/Users/012vi/Desktop/blocked/'
p = os.getcwd()
path = p.replace('\\', '/')

file_list = os.listdir(path) 
img_files = [file for file in file_list if file.endswith('.jpg')] 
img_files
'e912b4ca-c157-11ec-ac41-16f63a1aa8c9.jpg',
'ea5d1578-c157-11ec-ac41-16f63a1aa8c9.jpg',
'ed60b042-c150-11ec-85f7-16f63a1aa8c9.jpg',
'f4622362-c150-11ec-85f7-16f63a1aa8c9.jpg',
'f5c84764-c154-11ec-ac41-16f63a1aa8c9.jpg',
'f62ed622-c150-11ec-85f7-16f63a1aa8c9.jpg',
'f8afb82c-c154-11ec-ac41-16f63a1aa8c9.jpg',
'f96e91e2-c150-11ec-85f7-16f63a1aa8c9.jpg',
'ff61fdc8-c150-11ec-85f7-16f63a1aa8c9.jpg']
error = []
for f in img_files:  
    try:
        img =Image.open(f)
        img.verify() 
        img.close()
    except IOError:
        print('Bad file:', f)
        error.append(f)
        directory = createFolder()
        src=os.path.join(path, f)
        des=os.path.join(path, 'Error image' , f)
        os.rename(src,des)
Bad file: 7ab6af7e-c1eb-11ec-82ba-16f63a1aa8c9.jpg
Bad file: 80412776-c1eb-11ec-82ba-16f63a1aa8c9.jpg
Bad file: 8267cb0e-c1eb-11ec-82ba-16f63a1aa8c9.jpg
for i in error:
    delete_file =os.path.join(directory, i)
    os.remove(delete_file)

os.rmdir(directory)
반응형
Comments