데이터 전처리(Data Pre-processing)란?
데이터 전처리란 데이터를 정리하고, 유효하지 않은 데이터나 노이즈(noise)를 제거하며, 데이터를 적절한 값으로 대체하는 일련의 과정을 의미합니다. 전처리는 텍스트 데이터에만 국한되지 않으며, 이미지나 동영상 처리에도 동일하게 적용됩니다.
데이터 전처리는 기본적으로 여러 자원 또는 단일 자원에서 수집한 모든 데이터를 공통 포맷이나 균일한 형태의 데이터셋으로 통합하는 작업입니다. 현실 세계의 데이터는 결코 완벽하지 않기 때문에 누락된 값, 오류, 이상치(outlier), 컬럼 간 불일치 같은 문제가 존재할 가능성이 매우 높습니다.
이미지 역시 마찬가지입니다. 이미지가 올바르게 정렬되어 있지 않거나, 선명하지 않거나, 용량이 지나치게 클 수 있습니다. 전처리의 목표는 바로 이러한 불일치와 오류를 제거하는 것입니다.
사전 준비
이미지 입출력 기능은 사이킷런(scikit-learn)과 함께 자주 활용되는 scikit-image 패키지가 제공합니다. 아직 설치하지 않았다면 아래 명령어로 간단히 설치할 수 있습니다.
pip install scikit-image
예제 코드
파이썬에서 이미지를 업로드하고 콘솔에 출력하는 예제는 다음과 같습니다.
from skimage import io
path = "path to puppy.PNG"
img = io.imread(path)
print("Image being read")
io.imshow(img)
print("Image printed on console")
출력 결과

코드 설명
- 라이브러리 임포트: 이미지 입출력에 필요한 skimage.io 모듈을 가져옵니다.
- 경로 정의: 이미지가 저장된 파일 경로를 변수에 지정합니다.
- imread 함수: 지정된 경로에 접근하여 이미지를 읽어 들입니다.
- 배열 변환: 이미지를 읽으면 픽셀 값들이 NumPy 배열 형태로 저장됩니다. 즉, 이미지가 하나의 배열로 변환되는 것입니다.
- imshow 함수: 읽어 온 이미지를 콘솔(화면)에 표시합니다.
- 결과 확인: 최종적으로 이미지 데이터가 콘솔에 출력됩니다.
이처럼 imread와 imshow 두 함수만으로 손쉽게 이미지를 불러오고 시각화할 수 있습니다. 이렇게 얻은 픽셀 값 배열을 활용하면 크기 조정, 필터링, 노이즈 제거 등 다양한 이미지 전처리 작업을 이어서 진행할 수 있습니다.