리스트 로그 처럼 계속 문자열을 받아서 추가하는 함수는 컨트롤은 에디트 컨트롤을 사용하고 ReplaceSel() 를 이용해서 계속 문자열을 넣도록 하자 { CString str; // 문자열을 저장할 변수 m_edtLoggingOut.SetSel(-2, -1); // 커서를 에디트박스 끝으로 이동 or int len = m_edtLoggingOut.GetWindowTextLength(); // 글자 길이를 받아오기 m_edtLoggingOut.SetSel(len, len); // 글자 길이만큼 커서 이동 m_edtLoggingOut.ReplaceSel(str); // 에디트 박스에 글자 추가 } 요렇게 하면 계속 글자를 추가 할 수 있다.
우선 참조한 블로그 : 아는대로 지껄이는 블로그 친한 동생이 타 기관에서 자료를 받았는데 파일이 아닌 팩스나 엑셀 파일을 캡쳐하여 이미지로 보내주어 손으로 일일이 다 쳐서 업무를 진행하였단 말을 듣고 불쌍한 마음에 'OCR 간단하자나...' 라는 생각이 들어 시작하게 되었으나... 역시 이론과 실전은 다르다고 Tesseract 컴파일 하는데만 무지 시간을 잡아먹으며 삽질의 연속 이었다. 각설하고 컴파일한거 설명해보도록 하자 우선 vs2015 이상이 필요하며 CMake 도 필요하니 미리 준비하도록 하자 개발 환경 : VS2022(Preview Ver.), Windows 10 Tesseract를 컴파일 하려면 Leptonica 를 컴파일 해야하고 Leptonica 를 컴파일 하려면 여러 lib파일들이 필요한데 이는 https://github.com/peirick/Tesseract-OCR_for_Windows 에서 다운로드 가능하다. 다운로드가 완료 되면 tesseract 프로젝트를 실행하여 컴파일 하도록 하자. 처음 냅다 컴파일 하면 무지막지한 에러들을 볼 수 있다. 하지만 폴더 내에 있는 Release 폴더에 가보면 우리가 필요로 하는 lib파일들이 생성된 것을 볼 수 있다. (Tesseract-OCR_for_Windows-master\x64\Release) 자 이제 Leptonica를 컴파일 해보자 Leptonica 는 공식 사이트나 Git Hub에 있으니 둘 중 편한 Git Hub에서 받자 https://github.com/danbloomberg/leptonica git clone https://github.com/danbloomberg/leptonica.git 다운로드 후 Leptonica 폴더 안에 build 폴더랑 lib 폴더를 생성해준다. 그리고 CMake 를 실행한 후 소스 폴더와 빌드 폴더를 각각 Leptonica 폴더와 build 폴더로 지정한...
두 점간의 각도를 구하는 방법을 검색하면 거의 대부분의 글에서 atan2 함수를 사용하여 그 각도를 구하라고 한다. #include <cmath> BOOL CalculateAngle(CPoint pt1, CPoint pt2, double& dAngle) { BOOL bResult = FALSE; if (pt1 != pt2) { dAngle = atan2(pt2.y - pt1.y, pt2.x - pt1.x); dAngle *= (180.0 / M_PI); bResult = TRUE; } return bResult; } 이런 글을 보고 만든 함수가 위의 함수이다. 같은 포인트가 아닐 시 atan2 함수를 사용하여 각도를 구하고 그 결과값이 라디안 값이니 degree 값으로 바꾸는 함수이다. 이 함수를 사용해서 이미지 상 두 점의 각도를 구하니 계속 부호가 반대로 나오는 것이었다. 다음과 같이 이미지 상에 두 점 A, B가 있다고 하자 그럼 보통 우리가 생각하는 x,y 2차원 좌표상엔 B 점의 y 값이 높다. 원점(영점)이 좌하단에 위치하기 때문이다. 하지만 이미지를 다룰땐 이와 반대로 좌상단에 원점(영점)이 존재한다. 따라서 위와 같은 함수 식으론 계속 부호가 반대로 나오게 되는 것이다. A 좌표를 (100, 70) 이라 한다면 B 좌표는 (200, 40) 정도가 되어 atan2(-30, 100) 이라는 값이 들어가 마이너스 부호가 나오는 것이었다. 이미지의 특징을 생각 못한 것이었다. 따라서 함수를 다시 만들자면 ...
댓글
댓글 쓰기