이미지 파일을 WebP 형식으로 변환하는 파이썬 함수 만들기

이번 포스팅에서는 jpg, png 등의 그림 파일을 WebP 형식으로 변환하는 파이썬 함수 를 만들어 보겠습니다. WebP 이미지 파일 형식에 대한 기본적인 특징을 설명하고, 최종적으로 이미지 파일을 WebP 형식으로 변환하는 파이썬 함수를 생성하겠습니다.

WebP 이미지 파일 형식 설명

WebP는 Google에서 개발한 오픈 소스 이미지 포맷으로, 웹에서 이미지를 빠르게 로딩하고 압축합니다. JPEG, PNG 등의 이미지 파일 형식에 비해 높은 압축률과 품질을 제공하면서도 작은 파일 크기를 가지고 있습니다.

WebP는 다음과 같은 특징을 가지고 있습니다.

WebP 이미지 파일 형식 특징


고압축률

WebP는 JPEG 및 PNG와 비교하여 높은 압축률을 제공합니다. 따라서 더 작은 파일 크기로 이미지를 저장할 수 있습니다. 이러한 특징은 웹 페이지에서의 로딩 속도를 빠르게 합니다.


손실 압축 및 비손실 압축

WebP는 손실 압축과 비손실 압축 두 가지 형태의 이미지 압축을 지원합니다. 손실 압축은 높은 압축률을 얻기 위해 일부 데이터를 포기하는 방식이며, 비손실 압축은 이미지 품질을 손실하지 않고도 파일 크기를 줄이는 방식입니다.


애니메이션 지원

WebP는 GIF와 유사한 방식으로 애니메이션을 지원합니다. 여러 프레임을 하나의 WebP 파일에 저장하여 애니메이션을 만들 수 있습니다.



WebP의 장점


낮은 대역폭 요구

WebP는 이미지를 효율적으로 압축하므로 웹 페이지를 더 빠르게 로딩 합니다.


고화질 유지

높은 압축률에도 불구하고 WebP는 고품질 이미지를 유지합니다.


모바일 사용자 경험 개선

작은 파일 크기는 모바일 기기에서의 웹 브라우징을 향상 시킵니다.


구글 SEO 최적화

빠른 이미지 로딩 속도, 트래픽의 효과적 관리 및 서버 응답 시간의 최소화, 모바일 사용자의 경험 향상 등으로 구글 검색 엔진에서 선호하는 것으로 알려져 있습니다. 블로그의 구글 애드센스를 통한 수익 창출에 관심이 있으신 분들은 꼭 알아 두시기 바랍니다.


WebP의 단점

WebP는 많은 장점이 있지만, 단점도 있습니다. 모든 웹 브라우저에서 WebP를 지원하는 것은 아니기 때문에, 모든 곳에서 사용하기에는 아직 한계가 있습니다.

Google Chrome, Mozilla Firefox (65버전 이후), Microsoft Edge, Opera, Apple Safari (14버전 이후) 등의 브라우저에서는 WebP를 지원하는 반면에, Internet Explorer, Apple Safari(14버전 이전), Firefox (65버전 이전) 등의 브라우저에서는 지원하지 않습니다.


WebP 형식으로 변환하는 파이썬 함수

# 이미지 처리 라이브러리인 Pillow(PIL) 설치
pip install Pillow


from PIL import Image

def convert_to_webp(inputImagePath, outputImagePath):
    
    # 이미지 열기
    image = Image.open(inputImagePath)

    # WebP로 저장
    image.save(outputImagePath, 'WEBP')

    print(f'{inputImagePath}을(를) {outputImagePath}로 변환 완료 !!')


##### 함수 사용

# 변환할 그림 파일 경로
inputImagePath = 'D:/test.jpg'

# WebP로 변환된 파일을 저장할 경로
outputImagePath = 'D:/test.webp'

# 함수 호출
convert_to_webp(inputImagePath, outputImagePath)

-------------------------------------------------------------------------------------------
D:/test.jpg을(를) D:/test.webp로 변환 완료 !!

D드라이브를 열어 보시면, webp 파일이 생성되어 있는 것을 확인하실 수 있습니다.

감사합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다