스도쿠 사진을 찍으면 스도쿠를 대신 풀어주는 앱입니다!
풀기 힘든 문제가 있다면 솔더쿠
에게 부탁하세요!!
지원 언어 : 영어, 한글, 한자 간체, 한자 번체, 일본어, 프랑스어, 스페인어, 독일어, 이탈리아
🔗App Store : SolDoKu
🔗시연 영상 : Youtube
Case 1. 후면 카메라 실시간 풀이 | Case 2. 앨범 사진 기반 풀이 | Case 3. 사용자 입력 기반 풀이 |
---|---|---|
- UIKit
- Objective-C
- AVFoundation
- OpenCV
- TensorFlow
- Coremltools
OpenCV Wrapping
- UIKit는 swift를 기반으로 코딩되는데 OpenCV는 C,C++로 제작되어 직접 사용은 불가능하므로 Objective c++을 기반으로한 wrapper를 씌워 wrapper가 OpenCV를 호출하고 swift는 Objective c++로 작성된 wrapper를 부르는 방식으로 OpenCV를 사용하였습니다.
TensorFlow로 만든 모델을 Coremltools로 변환하여 사용
- 애플에서 제공하는 createML로 모델을 만들어 사용하니 정확성이 떨어져 TensorFlow로 만든 모델을 Coremltools로 .mlmodel 로 변환하여 앱에서 사용하였다.
- 카메라가 비추는 것을 UIImageView 위에 올리기
- Swift로 효율적인 스도쿠 알고리즘 만들기
- 비디오 프레임이 들어오면 해당되는 프레임을 핸들링하여 UIImageView에 올라기
- OpenCV로 비디오 프레임에서 사각형 인식하여 인식한 부분만 자르기
- OpenCV와 coremltools를 이용하여 숫자 인식률 개선
- 스도쿠를 풀이할 수 없는 사진일 경우 어플이 종료되는 경우
- 정제된 이미지와 앨범에서 사진을 불러올 때 사진이 90도 회전해있는 경우
- 인식한 스도쿠 영역과 화면에 나타나는 영역이 다른경우
- 실시간으로 스도쿠 영역에서 숫자를 인식하다 앱이 종료되는 경우