모델 학습을 위해 데이터를 적절한 형태로 변환해야 한다. 이미지 데이터의 경우 일반적으로 정규화(normalization), 크기 조정(resizing), 증강(augmentation) 등의 전처리 과정을 거칩니다. 또한, 데이터를 학습 데이터와 검증 데이터로 분할하는 것이 일반적이다.
이미지 전처리의 종류
* 이미지로딩, 이미지 크기조정, 이미지회전,
* 이미지 반전:
* 이미지 필터링 (블러링):
* 이미지 색상 변환:
* 이미지 임계값 처리:
- 흑백변환 : 임계값 처리는 보통 흑백 이미지에 적용. 컬러이미지인 경우 흑백으로 변환하는 과정이 필요
- 입계값을 설정(밝기, 색상분포, 목적)을 고려하여 임계값을 설정
- 필셀분류 : 임계값과 각 픽셀값을 비교하여 임계값보다 큰 픽셀은 흰색(전경), 임계값보다 작은 픽셀은 검은색(배경)으로 할당
* 이미지 경계선 검출:
- 디지털 이미지 처리에서 사용되는 기술로, 이미지에서 물체의 경계를 찾아내는 작업을 말한다. 경계선은 이미지에서 픽셀 값이 급격하게 변하는 영역으로, 물체와 물체 사이 또는 물체와 배경 사이의 경계를 나타냅니다
- 이미지 경계선 검출 알고리즘
> 에지검출: Canny, Sobel, Roberts 알고리즘을 사용하여 엣지 검출. 픽셀 값의 변화율을 계산하고, 경계선에서 변화율이 큰 영역을 찾아낸다.
* 이미지 정규화:
* 데이터 증강 - 이미지회전,반전,이미지확대/출소
OpenCV를 이용하여 간단하게 이미지를 전처리 하는 스크립트 예제
import cv2 # 이미지 로드 image = cv2.imread('path/to/image.jpg') # 이미지 크기 조정 resized_image = cv2.resize(image, (224, 224)) # 이미지 색상 변환 (예: BGR을 RGB로 변환) rgb_image = cv2.cvtColor(resized_image, cv2.COLOR_BGR2RGB) # 이미지 정규화 normalized_image = rgb_image / 255.0 # 전처리된 이미지 저장 cv2.imwrite('path/to/preprocessed_image.jpg', normalized_image) |
모델 학습을 위해 데이터를 적절한 형태로 변환해야 한다. 이미지 데이터의 경우 일반적으로 정규화(normalization), 크기 조정(resizing), 증강(augmentation) 등의 전처리 과정을 거칩니다. 또한, 데이터를 학습 데이터와 검증 데이터로 분할하는 것이 일반적이다.
이미지 전처리의 종류
* 이미지로딩, 이미지 크기조정, 이미지회전,
* 이미지 반전:
* 이미지 필터링 (블러링):
* 이미지 색상 변환:
* 이미지 임계값 처리:
- 흑백변환 : 임계값 처리는 보통 흑백 이미지에 적용. 컬러이미지인 경우 흑백으로 변환하는 과정이 필요
- 입계값을 설정(밝기, 색상분포, 목적)을 고려하여 임계값을 설정
- 필셀분류 : 임계값과 각 픽셀값을 비교하여 임계값보다 큰 픽셀은 흰색(전경), 임계값보다 작은 픽셀은 검은색(배경)으로 할당
* 이미지 경계선 검출:
- 디지털 이미지 처리에서 사용되는 기술로, 이미지에서 물체의 경계를 찾아내는 작업을 말한다. 경계선은 이미지에서 픽셀 값이 급격하게 변하는 영역으로, 물체와 물체 사이 또는 물체와 배경 사이의 경계를 나타냅니다
- 이미지 경계선 검출 알고리즘
> 에지검출: Canny, Sobel, Roberts 알고리즘을 사용하여 엣지 검출. 픽셀 값의 변화율을 계산하고, 경계선에서 변화율이 큰 영역을 찾아낸다.
* 이미지 정규화:
* 데이터 증강 - 이미지회전,반전,이미지확대/출소
OpenCV를 이용하여 간단하게 이미지를 전처리 하는 스크립트 예제
import cv2
# 이미지 로드
image = cv2.imread('path/to/image.jpg')
# 이미지 크기 조정
resized_image = cv2.resize(image, (224, 224))
# 이미지 색상 변환 (예: BGR을 RGB로 변환)
rgb_image = cv2.cvtColor(resized_image, cv2.COLOR_BGR2RGB)
# 이미지 정규화
normalized_image = rgb_image / 255.0
# 전처리된 이미지 저장
cv2.imwrite('path/to/preprocessed_image.jpg', normalized_image)