OpenCV는 파이썬용 오픈소스 컴퓨터 비전(Computer Vision) 라이브러리로, 인공지능(AI)과 머신러닝 연구 분야에서 가장 널리 사용되는 도구 중 하나입니다. OpenCV와 같은 컴퓨터 비전 라이브러리는 이미지 처리를 담당하며, 이를 활용하면 이미지를 손쉽게 불러오고 다양한 형태로 가공할 수 있습니다.
이번 글에서는 OpenCV로 이미지 파일을 읽어 들인 뒤, Tkinter로 만든 GUI 창에 해당 이미지를 표시하는 애플리케이션을 만드는 방법을 알아보겠습니다.
OpenCV 설치하기
먼저 아래 명령어를 실행해 OpenCV를 설치합니다.
pip install opencv-python
구현 순서
환경에 OpenCV를 설치한 후 import cv2 구문으로 라이브러리를 가져옵니다.
이미지 연산을 위해 NumPy와 PIL(Pillow 패키지)도 함께 임포트합니다.
imread(image_location) 함수를 사용해 이미지를 불러옵니다.
split(image) 함수로 이미지의 RGB 색상 채널을 분리합니다.
merge(rgb) 함수로 분리된 색상 채널을 다시 병합합니다.
다차원 행렬 형태의 데이터를 이미지 객체로 변환합니다.
PhotoImage(image=file) 함수를 사용해 Tkinter에서 표시할 수 있는 이미지로 변환합니다.
레이블(Label) 위젯을 초기화하고 이미지를 화면에 출력합니다.
예제 코드
# tkinter 라이브러리 임포트
from tkinter import *
import numpy as np
import cv2
from PIL import Image, ImageTk
# tkinter 프레임 인스턴스 생성
win = Tk()
win.geometry("700x550")
# 이미지 불러오기
img = cv2.imread('tutorialspoint.png')
# 색상 채널 재배열 (BGR → RGB)
blue,green,red = cv2.split(img)
img = cv2.merge((red,green,blue))
im = Image.fromarray(img)
imgtk = ImageTk.PhotoImage(image=im)
# 이미지를 표시할 Label 생성
Label(win, image= imgtk).pack()
win.mainloop()실행 결과
위 코드를 실행하면 지정한 이미지가 불러와져 Tkinter 윈도우에 정상적으로 표시됩니다.

주의: 'tutorialspoint.png' 이미지 파일이 반드시 실행하는 파이썬 프로그램과 같은 폴더에 있어야 합니다. 경로가 다른 경우 imread() 함수에 전체 경로를 지정해 주세요.