프로그래밍/머신러닝

[머신러닝] 현실 손글씨 데이터 전처리 방법(컬러 사진)

하루에 한번 방문하기 2021. 3. 12. 10:09

 

이건 MNIST 데이터셋

현실 손글씨 이미지셋 전처리(컬러 사진) :
1. 
 1 2 3 4 5 6 7 8 9 0 손글씨 숫자를 나열한 컬러 사진을
 그레이스케일 사진으로 변환
2. 
 숫자가 나열된 종이 이외의 노이즈(책상 등)를 전단 변환(Crop)으로 제거
3.
 완전히 흑백 사진으로 바이너리화
4.
 3의 이미지를 보면 점이나 빛으로 인한 노이즈가 있다.
 이것을 모폴로지 연산을 통해 제거
5.
 노이즈를 제거한 이진화 이미지에 대해
 외각선 검출 findContours()를 사용해 객체 외곽선 배열을 얻고,
 외곽선 배열을 응용해 숫자들의 사각형 행렬을 받아옴
6.
  5에서 만약 객체 숫자가 실제 숫자보다 많을 경우 
  일정 크기 이상의 객체만을 다시 검출
7.
  객체들의 사각형 행렬을 외곽선 x, y좌표에 대해 오름차순으로 정렬하고,
  32*32 크기 이미지(MNIST 데이터 셋 크기)로 리사이즈해서 순서대로 저장

8.

 위 방법으로 직접 얻은 데이터의 수가 부족하다면 

 MNIST 손글씨 데이터셋을 추가해 사용

 

출처 :

keyog.tistory.com/29

 

MNIST 데이터를 이용해서 손글씨 인식하기(통합)

2020/04/24 - [Opencv] - 간단한 손글씨 인식하기 -1 2020/04/30 - [Opencv] - 간단한 손글씨 인식하기 -2 2020/04/30 - [Opencv] - 간단한 손글씨 인식하기 -3 2020/05/04 - [Computer Vision/Classification] -..

keyog.tistory.com


엣지 검출 미분 마스크에 기반해서 객체를 인식해야하는 줄 알았는데,

아예 외곽선 객체 인식을 해주는 함수가 따로 있었네요.

 

엣지 검출 미분 마스크 종류에는 이런게 있네요.

:

bkshin.tistory.com/entry/OpenCV-18-경계-검출-미분-필터-로버츠-교차-필터-프리윗-필터-소벨-필터-샤르-필터-라플라시안-필터-캐니-엣지

 

OpenCV - 18. 경계 검출 (미분 필터, 로버츠 교차 필터, 프리윗 필터, 소벨 필터, 샤르 필터, 라플라시

이번 포스팅부터는 경계를 검출하는 방법에 대해 알아보겠습니다. 이번 포스팅 역시 '파이썬으로 만드는 OpenCV 프로젝트(이세우 저)'를 정리한 것임을 밝힙니다. 코드: github.com/BaekKyunShin/OpenCV_Pr

bkshin.tistory.com

 

엣지 검출에 기반한 객체 인식을 한다면..

:

https://lyzqm.blogspot.com/2015/07/1-open-cv.html

 

제1장) Open CV를 이용한 사각형 검출

사각형 검출하는 방법은 다음과 같이 구성하였다. 1) 영상의 원본을 불러온다. (변수  = frame) 2) 영상의 RGB값을 Gray scale화 한다. (변수 = gray) 3) Gray scale 한 값을 이진화한다.(나는 이...

lyzqm.blogspot.com