[파이썬] webp to png

반응형
    반응형

    webp to png

    webp 파일은 웹에서는 아주 가볍고 무손실 및 손실 압축 모두에서 투명도를 지원합니다. 웹사이트에서 퍼포먼스가 좋지만 호환성이 좋질 못합니다. 아직은 webp의 쓰임이 많지 않고 png를 많이 쓰고 있습니다.

    png 파일도 webp보다는 효율적이진 않지만 무손실 압축이 가능합니다. 그렇지만 호환성이 가장 좋습니다.

    호환성 때문에 webp을 png로 바꿔야 하는 경우가 생깁니다.

    특히, 운영체제 내에서는 png가 훨씬 쓰임이 많아서 webp을 웹사이트에서 가져오면 바꿔야하는 것이죠.

     

    cloudconvert라는 곳을 가면 바꿔줍니다. 단, 5장 제한이 있습니다.
    회원가입시에는 20장까지는 가능합니다.
    https://cloudconvert.com/png-to-webp

     

    PNG to WEBP | CloudConvert

    Compress Merge Capture Website Create Archive Extract Archive Convert PNG Converter PNG PNG or Portable Network Graphic format is a graphic file format that uses lossless compression algorithm to store raster images. It uses 2 stage compression methods. It

    cloudconvert.com

     

    위 사이트를 이용해 많은 양을 바꾸려면 비용이 들어서 파이썬을 통해 webp에서 png로 전환을 시켜봤습니다.

    webp to png

    파일을 바꿔주려면 파이썬의 pillow가 필요합니다.

    단순하게 이미지를 Image.open을 img로 불러오면 img.save로 png로 전환해 저장합니다.

    from PIL import Image
    import os
    
    def convert_webp_to_png(input_path, output_path):
        # 이미지 열기
        with Image.open(input_path) as img:
            # PNG로 변환 및 저장
            img.save(output_path, "PNG")
            print(f"Converted {input_path} to {output_path}")
    
    # 예제 실행
    input_file = "example.webp"  # 변환할 WebP 파일 경로
    output_file = "example.png"  # 저장할 PNG 파일 경로
    
    convert_webp_to_png(input_file, output_file)

    webp를 지우는 것이 아니라 추가적으로 png를 만드는 것이기 때문에 그럴일은 없지만 오류가 나더라도 파일을 복구할 필요가 없습니다.

    폴더내의 webp를 png로 바꾸기

    폴더내에 webp가 많거나 다른 이미지파일과 섞여있는 경우 webp만 선별해서 png로 바꾸는 방법입니다.

    def batch_convert_webp_to_png(folder_path):
        for file_name in os.listdir(folder_path):
            if file_name.endswith(".webp"):
                input_path = os.path.join(folder_path, file_name)
                output_path = os.path.join(folder_path, file_name.replace(".webp", ".png"))
                convert_webp_to_png(input_path, output_path)
    
    # 예제 실행
    folder_path = "./webp_images"  # 변환할 WebP 이미지가 있는 폴더 경로
    batch_convert_webp_to_png(folder_path)

    폴더를 지정하면 파일 경로를 일일히 적을 필요없이 파이썬내에서 알아서 해주므로 효율적입니다.

    마치며

    coludconvert에서 드는 비용을 파이썬을 쓰면서 줄일 수 있었습니다. 많은 양을 해야한다면 한번 시도해보시기를 추천합니다.

    댓글

    Designed by JB FACTORY

    ....