Development/Artificial Intelligence

ChatGPT를 활용하여 이미지 색상 추출하기

Danny Seo 2024. 7. 10. 14:56

목차

    안녕하세요! 오늘은 ChatGPT의 코드 인터프리터를 사용해 업로드한 이미지의 색상을 추출해보는 방법을 알아보려고 합니다.

    ChatGPT의 코드 인터프리터에 대한 간단한 소개로 시작해서 실용적인 응용 사례로 넘어가겠습니다.

    그럼 시작해볼까요! :)

     

    ChatGPT의 코드 인터프리터란?

    ChatGPT의 코드 인터프리터는 OpenAI에서 개발한 혁신적인 도구입니다. ChatGPT 제품군의 일부로, 베타 출시 이후 기술 세계에서 큰 주목을 받고 있습니다. 코드 인터프리터는 데이터 분석, 코드 편집, 이미지 조작 등의 다양한 작업을 수행하도록 설계되었습니다. 

     

    코드 인터프리터의 강점은 자연어를 이해하면서 코드를 실행할 수 있는 능력에 있습니다. 이는 오류를 식별하고 수정할 수 있어 데이터 분석부터 컴퓨터 비전 작업까지 강력한 도구가 됩니다. PNG, CSV, JSON 등 다양한 파일 형식을 지원하여 데이터 과학자와 개발자 모두에게 유용한 도구입니다.

    코드 인터프리터를 사용하기 위한 사전 작업

    코드 인터프리터를 사용하려면 ChatGPT Plus에 가입해야 합니다. Plus 계정에 로그인한 후 왼쪽 상단의 모델 설정 버튼을 클릭후 GPT-4 버전 이상의 모델을 선택하셔야 합니다.

    ChatGPT를 활용한 온라인 색상 추출 - 사전작업

    코드 인터프리터를 사용한 이미지 색상 추출

    위의 기본 사항을 세팅하였으니, 코드 인터프리터를 활용하여 이미지 색상을 추출해보겠습니다. 이는 웹 디자이너나 웹 사이트의 디자인에 관심 있는 사람들에게 매우 유용한 기능입니다.

     

    탐색 중에 코드 인터프리터가 인기 있는 머신 러닝 알고리즘인 k-means 클러스터링을 사용해 이미지에서 주요 색상을 추출할 수 있다는 것을 발견했습니다. 그 결과는 이미지에서 가장 두드러진 색상을 나타내는 16진수 코드 목록입니다. 이는 특정 이미지를 중심으로 웹사이트나 콘텐츠를 디자인하려는 경우 매우 유용할 수 있습니다.

     

    예를 들어, 웹사이트 디자인의 중심 요소로 사용할 아름다운 이미지가 있다고 가정해 보겠습니다. 코드 인터프리터를 사용해 이 이미지에서 주요 색상을 추출한 다음, 이러한 색상을 사용해 디자인 프로세스를 안내할 수 있습니다. 이렇게 하면 디자인이 일관되고 시각적으로 매력적이게 됩니다.

     

    시작하려면 먼저 색상 코드를 추출하려는 웹사이트에서 스크린샷을 찍어야 합니다. 스크린샷을 이미지 파일로 저장하고 ChatGPT의 프롬프트 입력 필드에서 파일 업로드 기능을 사용해 코드 인터프리터에 이미지 파일을 업로드합니다.

    ChatGPT를 활용한 온라인 색상 추출 - 프롬프트 입력

     

    그 다음 프롬프트 텍스트를 입력해야 합니다. 아래와 같이 입력해주시면 됩니다.

    위의 이미지에서 주요 색상을 팔레트로 추출해 주실 수 있나요? 색상의 16진수 코드 목록도 포함해 주세요.

     

     

    위의 프롬프트를 입력하고 나면, 코드 인터프리터가 해당 문제를 해결하기 위해 아래와 같은 파이썬 코드로 코드를 작성합니다.

    from PIL import Image
    import numpy as np
    import matplotlib.pyplot as plt
    from collections import Counter
    import cv2
    
    # Load the image
    image_path = "/mnt/data/ollama-cover.webp"
    image = Image.open(image_path).convert("RGB")
    
    # Resize the image to reduce the number of pixels
    image = image.resize((image.width // 10, image.height // 10))
    
    # Convert image to numpy array
    pixels = np.array(image).reshape(-1, 3)
    
    # Use k-means clustering to find dominant colors
    num_colors = 10
    clt = KMeans(n_clusters=num_colors)
    clt.fit(pixels)
    
    # Get the cluster centers (dominant colors) and counts
    colors = clt.cluster_centers_.astype(int)
    counts = Counter(clt.labels_)
    
    # Sort colors by frequency
    sorted_colors = [colors[i] for i in counts.keys()]
    
    # Convert colors to hex
    hex_colors = ['#{:02x}{:02x}{:02x}'.format(color[0], color[1], color[2]) for color in sorted_colors]
    
    # Display color palette
    plt.figure(figsize=(12, 2))
    plt.imshow([sorted_colors], aspect='auto')
    plt.axis('off')
    plt.show()
    
    hex_colors

     

    결과 값은 아래와 같이 16진수의 색상 코드 목록과 색상 팔레트를 제공하게 됩니다.

    ChatGPT를 활용한 온라인 색상 추출 - 결과 값

    마무리

    코드 인터프리터를 통해 업로드한 이미지의 색상 팔레트를 추출해보는 시간을 갖았습니다. ChatGPT의 코드 인터프리터는 AI와 코딩의 세계에서 중요한 역할을 합니다. 대화형 방식으로 복잡한 작업을 수행할 수 있는 능력 덕분에 기술 사용자와 비기술 사용자 모두에게 접근 가능한 도구가 되었습니다. 색상 팔레트 추출 기능은 이 도구를 활용하여 작업을 단순화하고 프로젝트를 향상시킬 수 있는 많은 방법 중 하나에 불과합니다. 코드 인터프리터가 계속 발전함에 따라 추가될 기능과 역량이 기대됩니다. 

     

    읽어주셔서 감사합니다! 😊
    개발 관련 궁금증이나 고민이 있으신가요?
    아래 링크를 통해 저에게 바로 문의해 주세요! 쉽고 빠르게 도움 드리겠습니다.

    '개발자서동우' 프로필 보기

     

    다른 글 확인하기 :

     

    나만의 로컬 LLM(대형 언어 모델) 실행하기 - Devloo

    안녕하세요! Devloo 입니다. 저는 기본부터 시작하는 것을 중요하게 생각합니다. AI 관련 지식을 향상시키기로 결심했을 때, 구글의 머신러닝 크래시 코스를 통해 놓치고 있던 데이터 과학의 기본

    devloo.io

     

     

    Spring AI: Spring Boot와 LLM(대형 언어 모델)의 연동 - Devloo

    안녕하세요, Devloo 입니다 !! (_ _). 최근 저는 대형 언어 모델(LLM) 응용에 관심이 많았는데요, 이번에 여러분께 흥미로운 소식을 전하고자 합니다. 바로 Spring AI 입니다. Spring AI 는 Spring Boot가 LLM을

    devloo.io

     

     

    React와 OpenAI로 이미지 생성기 만들기: 단계별 가이드 - Devloo

    안녕하세요 Devloo 입니다. 여러분은 그림 그리기를 좋아하시나요? 저 같은 경우는 항상 그림 실력이 많이 부족하다고 느껴, 어렸을 때 터 그림을 그리지 않았습니다. 그러다보니, 그림을 잘 그리

    devloo.io