rueki

이미지 경로 전처리 및 레이블링 코드 본문

python

이미지 경로 전처리 및 레이블링 코드

륵기 2021. 6. 6. 15:42
728x90
반응형
import os
import cv2
import pandas as pd

data_path = ""
save_path = ""

def rename_path(data_path):
    cnt = 1
    for name in os.listdir(data_path):
        src = os.path.join(data_path, name)
        img_num = "{0:04d}".format(cnt)
        file_name = img_num + '.jpg'
        dst = os.path.join(data_path, file_name)
        os.rename(src, dst)
        cnt+=1

#레이블링
def label_csv(data_path, csv_path):
    image_name = os.listdir(data_path)
    image_id = [name.split('.')[0] for name in image_name]
    label = [1 for _ in range(len(image_id))] #해당 클래스에 맞게 레이블 수정
    df = pd.DataFrame({'ID' : image_id, "label" : label})
    df.to_csv(csv_path,index=False)

#여러폴더에 이미지 잇는경우 한 폴더에 합치기
def multiimages2oneFolder(data_path, save_path):
    cnt = 1
    for folder_name in os.listdir(data_path):
        folder_path = os.path.join(data_path, folder_name)
        for image in os.listdir(folder_path):
            image_list = os.listdir(os.path.join(image, folder_path))
            image_name = [os.path.join(folder_path, image) for image in image_list]

        for img_file in image_name:
            img_num = "{0:04d}".format(cnt)
            print(img_file)
            img = cv2.imread(img_file, cv2.IMREAD_COLOR)
            print(img)
            cv2.imwrite(save_path + str(img_num) + '.jpg', img)
            cnt += 1





        #print(image_path)
728x90
반응형

'python' 카테고리의 다른 글

BOJ 1931. 회의실 배정(Greedy)  (1) 2022.10.01
BOJ 1715. 카드 정렬하기 (Priority Queue)  (0) 2022.09.30
CutMix 실습하기  (0) 2021.05.07
파이썬 UnderScore  (0) 2021.01.07
Shallow Copy, Deep copy  (0) 2021.01.05
Comments