openCV_프로젝트 주제 정하기 - chloe73/openCV GitHub Wiki

💡프로젝트 주제 아이디어

  1. 얼굴 인식

  2. 손으로 쓴 숫자 인식

  3. 웹캠으로 인식한 옷을 추출한 후에 인물에게 합성하기

  4. 얼굴에 선글라스 씌우기

✅'손으로 쓴 숫자 인식' 주제로 결정

💡kNN을 이용한 숫자 인식

Goal : kNN Machine Learning 알고리즘을 이용하여 손글씨 숫자를 인식할 수 있다.

학습하기

• 우선 위 이미지를 가로/세로롤 잘라서 하나의 숫자를 배열에 넣습니다.
• 그러면 순서대로 0부터 9까지 각각 500개씩 배열에 넣어집니다.
• 배열값이 0 ~ 499까지는 1, 500 ~ 999까지는 2 ... 4499 ~ 4999는 9를 의미하는 이미지 값이 들어가게 됩니다.
• 그러면 500개씩 Loop를 수행하면서 각 배열에 Label작업을 합니다.
• 그리고 이 결과값으 numpy파일로 저장을 합니다.

테스트

• 학습한 numpy파일을 Load합니다.
• 마우스나 사진으로 찍은 손글씨 숫자를 학습할 때 사용한 동일한 해상도(20X20)으로 Resize를 합니다.
• kNN 알고리즘을 통해서 손글씩 숫자를 인식합니다.

재학습

• 테스트시 실제 손글씨와 컴퓨터가 인식한 값이 다를 경우 사람이 정확한 값을 입력해 줍니다.
• 이 값은 다시 numpy파일에 추가가 되어 재학습이 이루어 집니다.


  • machineLearing

5000개의 손글씨를 읽어 각 숫자의 cell을 잘라서 배열에 저장합니다.

그리고 각 배열에 Label작업을 수행한 결과를 numpy파일로 저장합니다.

  • resize20

직접 쓴 손글씨를 20X20으로 resize 한 결과를 Return합니다.

  • loadTrainData

학습을 통해 저장되었던 numpy파일을 load합니다.

  • checkDigit

test data와 학습 data를 이용하여 kNN 알고리즘을 적용하고 그 결과를 return합니다.

먼저 학습을 수행합니다. 학습을 수행하기 위해서 아래와 같이 입력합니다.

[참고 레퍼런스]
kNN을 이용한 숫자 인식 - gramman 0.1 documentation