↓폴밍끼 유튜브 채널 자세히보기

Python library & package/pip

[해결방법] libpng warning: iCCP: known incorrect sRGB profile

폴밍끼 2023. 3. 2. 17:05
728x90

libpng warning: iCCP: known incorrect sRGB profile 가 콘솔 창에 계속 뜨면서 굉장히 깔끔하지 않은 상황이 발생하는데 이건 해당 데이터셋의 이미지를 전부 opencv로 읽어오고(imread), 그걸 다시 저장해서(imwrite) 해결할 수 있다. 그 저장된 이미지 데이터셋에 대해 다시 진행하면 위와 같은 상황은 발생하지 않는다.

핵심은 cv2.imread()와 cv2.imwrite()하는 것 뿐이다. 다만 파일의 전체 이미지 파일에 대해 전부 진행해야하니 glob를 사용해서 이미지 파일 이름 리스트를 만들고 진행하면 편하다.

아래는 코드 전문.

from glob import glob
import cv2
print(cv2.__version__)

def getImgName(dr_name):
    imgname = []
    for f in glob(f'./lcdp_dataset_0/{dr_name}/*.png'):
        f = f.split('/')
        f = f[-1]
        f = f.split('.')
        f = f[-2]
        imgname.append(f)
    return imgname


def saveImg(filename, dr_name):
    for f in filename:
        srcBGR = cv2.imread(f"./lcdp_dataset_0/{dr_name}/{f}.png")  
        cv2.imwrite(f'./lcdp_dataset/{dr_name}/{f}.png', srcBGR)
        print("saved")


for i in ['test-gt','test-input', 'valid-gt', 'valid-input', 'gt', 'input']:
    filename = getImgName(i)
    saveImg(filename, i)