MODI (Microsoft Office Document Imaging)를 이용한 OCR
from 개발관련 Tool Manual 2009/12/09 10:47 / hits (1782)
주의 : 아래 글은 전적으로 개인적인 짦은 지식과 소견으로 작성한 글입니다. 제 전공은 경제학이나 국제금융도 아니고 외환이나 주식관련 애널리스트도 아니기에 아래 정보를 활용해서 발생하는 손실이나 손해에 대해서는 아무런 책임을 질 수 없음을 밝힙니다. 그리고 여기에 쓰는 글은 여기저기 널려있는 수많은 정보들을 제 맘대로 발췌해서 만든 내용이 대다수입니다. 이 정보를 자신을 위해 사용할때는 본인 스스로가 결정하시고, 이 글은 그냥 편하게 읽어주시기 바랍니다.
참고로, 저는 무정부주의자도 아니고, 누구를 모함하거나 잘못된 정보를 전달하기 위해 글을 작성하는 사람도 아닙니다. 정부의 정책을 반대하는 것도 아니고, 동조하지도 않습니다. 그냥 개인적인 의견이므로 아래의 글을 읽기가 걱정되신다면 그대로 페이지를 닫아주시기 바랍니다.
블로그에 글을 작성할때 반드시 밝혀야 하는 사항
참고로, 저는 무정부주의자도 아니고, 누구를 모함하거나 잘못된 정보를 전달하기 위해 글을 작성하는 사람도 아닙니다. 정부의 정책을 반대하는 것도 아니고, 동조하지도 않습니다. 그냥 개인적인 의견이므로 아래의 글을 읽기가 걱정되신다면 그대로 페이지를 닫아주시기 바랍니다.
블로그에 글을 작성할때 반드시 밝혀야 하는 사항
이번에 스캐너 관련 업무에 심취(?)해 있던중 스캔된 이미지의 문자 인식 부분에 관해서 기존에 전문 회사의 OCR 엔진을 사용하다가, 이 엔진이 덩어리가 너무 커서 배포시에 용량이(약 30메가) 부담이 되었기에, 좀 쓸만한 OCR이 없을까 알아보던중 알게된 MODI.
Microsoft Office Document Imaging을 설치하면 OCR모듈을 설치 할 수 있다는 얘기를 듣고, 노트북에 해당 프로그램을 설치한후에, ActiveX 모듈을 Import하여 OCR을 돌려보니....
Wonderfull!!!!!
너무나 훌륭하게 잘된다..... 한글/영어/일본어/중국어... 다된다. -_-;;;; 언어팩만 설치해주면 안되는게 없다..
음.. 이거 잘만 다듬으면 물건 되겠구나... 해서 컴퍼넌트 만들고나서.... 배포하려고 생각해보니....
이런 젠장.. -_-;
클라이언트PC에 MODI가 설치되어 있지 않으면 동작을 하지 않는.....
그래서 MODI를 이용한 OCR 모듈은 그런게 있구나 하고 알아보고 접어버리는... -_-;;;;;
누가 MODI 모듈을 손쉽게 배포할 수 있는 방법을 알고 계시면.... 팁좀.. 굽슨굽슨~~~~ (라이센스 때문에라도 안될듯... ㅠㅠ)
어찌됐든 MODI를 이용하면 아주 훌륭한 OCR 엔진을 이용할 수 있다는 것을 알려주고자 한다. 뭐 궁금하지 않다면 스킵 -_-;;
본인은 델파이를 이용해서 개발을 하기 때문에 델파이를 예로 들어 MODI를 이용하는 방법을 소개한다. 어짜피 ActiveX 모듈이기 때문에 다른 컴파일러에서도 아래와 비슷한 방법으로 적용하면 손쉽게 이용할 수 있을듯...
1) 메뉴의 "컴퍼넌트"탭에서 "Import ActiveX Control"을 선택
2) "Microsoft Office Document Imaging ...."을 선택
3) "Create Unit"을 선택
2) "Microsoft Office Document Imaging ...."을 선택
3) "Create Unit"을 선택
위와 같은 작업을 거치게 되면 "MODI_TLB.Pas"파일이 생성 되게 된다. 해당 유닛을 컴파일해 인스톨 하게 되면 MODI 관련 컴퍼넌트들이 인스톨 되고, MODI를 사용할 준비가 완료된상태...
이제 새 프로젝트를 열고 폼에 "MiDocView" 컴퍼넌트를 떨궈주자.
그다음에 아래의 샘플 소스코드를 이용해 테스트!!!
procedure TForm.Button1Click(Sender: TObject);
Var
mi_doc :IDocument;
Img :IImage;
Layout :ILayout;
begin
mi_doc:= IDispatch(CreateOleObject('MODI.Document')) as IDocument;
mi_doc.create(c:\modi\image\ocr_sample.bmp);
mi_doc.ocr(miLANG_ENGLISH,true,true);
Img := IDispatch(mi_doc.Images[0]) as IImage;
Layout := IDispatch(Img.Layout) as ILayout;
Memo1.Lines.Add(Layout.Text);
MiDocView1.Document := mi_doc;
mi_doc.Close(false);
Img := nil;
Layout := nil;
end;언제나 그렇듯이 좀더 자세한 정보가 필요하다면 가자!!!!!! http://msdn.microsoft.com/
Trackback Address >> http://dolba.net/tt/k2club/trackback/2361
-
Subject: ABBYY FineReader 10 한글 OCR 프로그램 - 이미지에서 텍스트 추출
Tracked from UbiSpace.net 2009/12/09 19:09 delete최고의 OCR 성능으로 이름 있는 러시아 ABBYY사에서 한글을 포함한 전세계 186개 언어를 인식할 수 있는 OCR 소프트웨어인 FineReader 10 Professional Edition을 국내 총판 협력사인 디오텍을 통해 출시했습니다. 시험판 다운로드는 http://abbyy.co.kr/data/abbyy/product/finereader.asp 입니다. 국산 한글 OCR 엔진의 성능 개선이 답보 상태인 상황에서 FineReader 10이 출..
