ChatGPT로 쉽게 하는 이미지 처리 자동화

ChatGPT를 활용한 이미지 처리 업무 자동화에 대해 소개해 드리겠습니다.
이미지 편집 업무 중에서도 워터마크 삽입배경 제거는 반복적인 작업이 많아 시간이 많이 소요됩니다. 이러한 작업을 Python과 ChatGPT를 활용해 자동화하면 보다 효율적으로 처리할 수 있습니다. 실제 코드 예제와 함께 쉽게 따라 할 수 있는 방법을 설명하겠습니다.

ChatGPT를 활용한 이미지 처리 자동화란?

이미지 처리 업무 자동화란, 한 장 혹은 여러 장의 이미지를 자동으로 처리하는 것을 의미합니다. 예를 들어:
✅ 여러 이미지에 동일한 워터마크 삽입
✅ 이미지의 배경을 자동으로 제거

이러한 작업을 ChatGPT와 Colab을 활용하면 몇 줄의 코드만으로도 손쉽게 해결할 수 있습니다.

ChatGPT를 통해 생성된 코드를 Google Colab을 통해 실행해보겠습니다.

Google Colab을 통한 ChatGPT 생성코드 실행 방법은아래 글을 참조 바랍니다.
[POST] 업무 자동화를 위한 ChatGPT 활용법

ChatGPT를 이용한 워터마크 삽입 자동화

여러 이미지에 워터마크를 반복적으로 삽입하는 작업을 자동화 해보겠습니다.

Colab 디렉토리에 작업용 이미지 파일을 업로드 합니다.

image png

Prompt #1
sea_image 폴더안에 있는 jpg 이미지들의 우측하단에 chatgpt_logo.png 파일을 워터마크로 삽입하는 Python 코드 작성해줘

ChatGPT 응답

!pip install pillow
from PIL import Image, ImageEnhance
import os

def add_watermark(image_path, watermark_path, output_path, opacity=0.5):
    base_image = Image.open(image_path).convert('RGBA')
    watermark = Image.open(watermark_path).convert('RGBA')

    # Watermark 크기 조정
    width, height = base_image.size
    watermark_width, watermark_height = watermark.size
    scale_factor = 0.1  # 워터마크 크기를 원본 이미지의 10%로 조정
    new_watermark_width = int(width * scale_factor)
    new_watermark_height = int(watermark_height * (new_watermark_width / watermark_width))
    watermark = watermark.resize((new_watermark_width, new_watermark_height), Image.LANCZOS)

    # 투명도 조정
    alpha = watermark.split()[3]
    alpha = ImageEnhance.Brightness(alpha).enhance(opacity)
    watermark.putalpha(alpha)

    # 워터마크 위치 설정 (우측 하단)
    position = (width - new_watermark_width - 10, height - new_watermark_height - 10)

    # 워터마크 합성
    transparent = Image.new('RGBA', (width, height))
    transparent.paste(base_image, (0, 0))
    transparent.paste(watermark, position, mask=watermark)
    transparent = transparent.convert('RGB')  # 투명 배경 제거

    # 이미지 저장
    transparent.save(output_path)

def process_images(input_folder, watermark_path, output_folder, opacity=0.5):
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    
    for filename in os.listdir(input_folder):
        if filename.endswith('.jpg'):
            image_path = os.path.join(input_folder, filename)
            output_path = os.path.join(output_folder, filename)
            add_watermark(image_path, watermark_path, output_path, opacity)

# 변수 설정
input_folder = 'sea_image'
watermark_path = 'chatgpt_logo.png'
output_folder = 'output_images'

# 이미지 처리
process_images(input_folder, watermark_path, output_folder, opacity=0.5)

ChatGPT를 통해 생성된 코드를 Colab로 실행하여 워터마크가 추가된 이미지를 확인할 수 있습니다.

image 1

ChatGPT를 이용한 이미지 배경 제거 자동화

이미지에서 배경을 제거해야 할 때, 포토샵같은 프로그램 없이 ChatGPT와 Colab을 이용해 가능하며 여러 장의 이미지를 한번에 처리할 수 있습니다.

Prompt #1
people 폴더에 있는 jpg 이미지들의 백그라운드를 제거하는 Python 코드를 작성해줘.

ChatGPT 응답

!pip install rembg
import os
from rembg import remove
from PIL import Image

def remove_background(input_path, output_path):
    input_image = Image.open(input_path).convert('RGBA')
    output_image = remove(input_image)
    
    # RGBA 이미지를 PNG 형식으로 저장
    output_image.save(output_path, 'PNG')

def process_images(input_folder, output_folder):
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    
    for filename in os.listdir(input_folder):
        if filename.endswith('.jpg'):
            input_path = os.path.join(input_folder, filename)
            output_path = os.path.join(output_folder, os.path.splitext(filename)[0] + '.png')  # PNG 확장자로 저장
            remove_background(input_path, output_path)

# 변수 설정
input_folder = 'people'
output_folder = 'people_no_bg'

# 이미지 처리
process_images(input_folder, output_folder)

ChatGPT를 통해 생성된 코드를 Colab로 실행하여 배경이 제거된 이미지를 확인할 수 있습니다.

image 2

여러 이미지를 한번에 배경 제거 작업을 진행한 결과 입니다.

image 3

마무리

ChatGPT를 활용하면 코딩에 대한 깊은 지식이 없어도 이미지 처리 업무를 손쉽게 자동화할 수 있습니다. 오늘 소개해 드린 워터마크 삽입과 배경 제거 사례를 통해 이미지 처리 자동화의 실제 활용법을 살펴보았습니다. 필요에 따라 ChatGPT에 프롬프트를 입력하고 Google Colab과 함께 활용하면, 반복적인 이미지 편집 작업을 보다 효과적으로 수행할 수 있습니다. 이를 통해 작업 시간을 단축하고 업무 효율성을 높이며, 더 스마트한 업무 수행이 가능해질 것입니다.

본 글은 multicampus 강의 수강 실습 내용을 기반으로 작성하였습니다.
“새로운 시대의 Open AI, ChatGPT” / 강사 양진호

관련 글 보기