잘못된 정보가 있다면, 꼭 댓글로 알려주세요(비로그인 익명도 가능).
여러분의 피드백이 저와 방문자 모두를 올바른 정보로 인도할 수 있습니다.
감사합니다. -현록
현록의 기록저장소
TransNOCR 1.8.0 업데이트 후기 본문
최근에 플로팅 번역의 폰트 관련하여 받은 요청사항이 있어서 해당 기능을 중점으로 수정했다.
그러면서 그동안엔 모두 수직으로만 글자를 인식하려고 했단 것도 깨닫고
각도를 계산하여 원문과 동일하게 출력하도록 했다.
문단의 모든 처음과 끝이 동일한 크기이면 좋으련만, ...으로 끝나는 등 갑자기 높이가 극단적으로 낮아지면 고려할 사항이 더 생긴다.
그래서 모자형태(_■■■■■_)의 문단을 가정하여 이리저리 계산해봤다.
다만, Google Vision OCR이 항상 네 꼭지점을 동일한 순서대로만 주지 않고 가끔씩 뒤틀려 주기도 해서
네 점의 순서대로만 각도를 계산하면 가끔씩 버그가 발생했다.
직각이 아닐 때는 오히려 괜찮은데, 직각일 때 가끔씩 순서를 엉망으로 준다.
그래서 직각일 때는 가로/세로 중 긴 것으로만 판단하여 0˚, 270˚로만 출력.
세로가 가로가 되고 가로가 세로가 되는 버그보다는 낫다고 판단하여...ㅠ
오랜만에 삼각함수를 들여다보니 재미는 있었다.
어차피 공대생이라 대학교에서도 미적분이니 매트릭스니 계속 사용했지만,
고등학생 때도 알고 있었다. 다 쓸 데가 있고, 우리는 어지간해서는 아마 쓸 것이라고...ㅎㅎ
프로그램은 개발 키를 사용하는 특성상 일반인들이 설치하기에도 좀 번거로운 부분이 있는데,
그 중 jre도 그렇다.
Java를 다루기 전에는 jre가 필요한 3D 모델링 프로그램을 사용할 때 이걸 왜 경로에 둬야하는지도 모르겠던 경험이 있으니,
그런 분들이 계실 것이라 생각했고,
차라리 Windows에 더 친화적인 Qt로 포팅(이래봤자 새로 짜는 것이지만)해보려고 했는데...
OCR까지는 잘 진행이 되었는데,
그 외에 사용했던 라이브러리가 Java에는 있으나 C++에는 없는 것들이 많다.
특히 Google 라이브러리는 공식 문서에 C++은 없고(그래도 Github에서 googleapis 검색하면 vision은 찾을 수 있음. vcpkg에도 있고),
Google Drive나 Sheets는 모두 중단된 프로젝트에 Deprecated 코드들이라 어차피 새로 짜야하고...
C++로 웹드라이버는 영 아닌가?? 웹드라이버도 없고...
이럴거면 그냥 Dart에 Flutter로 하는게 아예 더 빠를 듯ㅎ
첨에 qmake도 삽질했다가, CMake로 갈아엎고, vcpkg도 써보고...
배운건 있지만 결국 끝까진 가지 못한 상태ㅎ
사용하는 기능들이 모두 REST API였다면 별 문제도 아니었겠지만, 그렇지 않다...
특히 Google쪽은 gRPC나 자체 규격들이라ㅠ
이번에 너무 시간을 할애한 바... 다음 번에 다시 방향을 고려해보거나 할 듯.
그래도 Qt는 qml로 Model/View에 Binding을 하는게 역시 편했다.
Xamarin 때도 yaml로 나눠둔게 편했었는데.
한참 Qt로 짜다가 Java 버전을 업데이트한건데, 그러다보니 새삼 Model/View가 참 편했구나 싶더라...
사실 Java로 GUI 프로그램 짜는게 맞나 싶기도 하다. 이건 만들 때부터 그랬긴 했는데, 필요한 기능들이 쓰기 좋게 펼쳐져 있던지라...ㅠ
C++에 대한 사랑으로 괜히 Qt로 방향을 잡았나 싶더라.
그냥 Xamarin으로 갔으면 .Net Framework를 썼을테니 라이브러리가 그나마 더 있었을 거고(Google 라이브러리도 C#은 있다).
아니면 Dart에 Flutter를 갔어야했나ㅎㅎ
'Diary' 카테고리의 다른 글
마트휴일 AI 스피커가 말해주기 (Google Action) (0) | 2021.05.11 |
---|---|
AI 스피커와 연동 (0) | 2021.04.07 |
iOS 13.4.1의 버그를 아직 안 고치고 있다. (1) | 2020.05.01 |
섀도 오버 미스타라 한글화 후기 (1) | 2020.04.29 |
잘못 입금된 돈을 돌려줬다. (0) | 2019.08.04 |
잘못된 정보가 있다면, 꼭 댓글로 알려주세요(비로그인 익명도 가능).
여러분의 피드백이 저와 방문자 모두를 올바른 정보로 인도할 수 있습니다.
감사합니다. -현록