線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:6860
推到 Plurk!
推到 Facebook!

MODI OCR控制操作小程式

 
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-20 00:19:14 IP:61.62.xxx.xxx 未訂閱
解決 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=53772 問題, 如何控制 Microsoft Office Document Imaging 做光學辨識? 主要是利用了 ole automation 來進行操作, 相關資料可以參考, http://msdn.microsoft.com/library/default.asp?url=/library/en-us/Mspauto/html/dimthOCR.asp http://dbforums.com/t952144.html 重要程式片段如下,
procedure TForm1.Button2Click(Sender: TObject);
var
  doc, layout: Variant;
  i: integer;
  str: string;
begin
  if OpenDialog1.FileName = '' then
  begin
    ShowMessage('please select a tiff image file first!');
    exit;
  end;
  doc := CreateOleObject('MODI.Document');
  doc.Create(OpenDialog1.FileName);
  // miLANG_CHINESE_TRADITIONAL = 1028
  // miLANG_CHINESE_SIMPLIFIED = 2052
  // miLANG_SYSDEFAULT = 2048
  Screen.Cursor := crHourGlass;
  doc.OCR(1028);
  Screen.Cursor := crDefault;
  for i:=0 to doc.Images.Count - 1 do
  begin
    str := str + doc.Images.Item[i].Layout.Text;
  end;
  Memo1.Lines.Text := str;      ShowMessage('Finished!');      doc.Close;
  doc := UnAssigned;    end;
附上一份 tiff 的圖檔方便大家進行測試! 執行結果如下, 限制及可改進處, 1. 由於 MODI 僅支援 tiff 及 mdi 圖檔型態, 若要辨識其他圖檔, 還請自行處理轉檔部分 2. 最好是給定對於要辨識的語系, 以免容易造成辨識失敗 3. 當然是要有安裝 Microsoft Office Document Imaging 這套軟體才能執行囉!!
附加檔案:55116_modi_ocr.zip
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-20 00:30:46 IP:61.62.xxx.xxx 未訂閱
附上另一篇相關的文章, http://msdn.microsoft.com/library/default.asp?url=/library/en-us/Mspauto/html/diobjLayout.asp
receadv
一般會員


發表:0
回覆:2
積分:0
註冊:2004-09-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-08 09:58:16 IP:139.175.xxx.xxx 未訂閱
不好意思! 請問一下,我在使用的時候會出現類別為登錄的錯誤, 這個問題要如何解決呢? 還有另外一點,最近對於ole automation這部分有興趣, 不知道有沒有關於這方面的書籍可以推薦呢? 謝謝!
receadv
一般會員


發表:0
回覆:2
積分:0
註冊:2004-09-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-09-08 09:58:38 IP:139.175.xxx.xxx 未訂閱
不好意思! 請問一下,我在使用的時候會出現類別為登錄的錯誤, 這個問題要如何解決呢? 還有另外一點,最近對於ole automation這部分有興趣, 不知道有沒有關於這方面的書籍可以推薦呢? 謝謝!
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-09-08 12:07:15 IP:203.95.xxx.xxx 未訂閱
站上有相當多有關 ole automation 的文章, 你可以先試著讀一下, 先有概念後, 再下手! 關於會有類別登錄錯誤的問題, 弟也有發生, 但第二次執行時就 ok 了, 不知和 interface 有沒有關係. 若要解決這個問題, 你可以利用 import type library 的方式產生 MODI_TLB 這個 pas 檔, 再引入程式後即可!
ry_lee
高階會員


發表:368
回覆:251
積分:123
註冊:2002-03-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2011-06-06 10:06:46 IP:111.253.xxx.xxx 訂閱
timhuang 你好:

我照你下面所說去做(關於會有類別登錄錯誤的問題, 弟也有發生, 但第二次執行時就 ok 了, 不知和 interface 有沒有關係. 若要解決這個問題, 你可以利用 import type library 的方式產生 MODI_TLB 這個 pas 檔, 再引入程式後即可! ),但第一次執行依然會發生"類別未登錄"之錯誤,第二次執行時就 ok 了,為什麼會這樣呢?

===================引 用 timhuang 文 章===================
站上有相當多有關 ole automation 的文章, 你可以先試著讀一下, 先有概念後, 再下手! 關於會有類別登錄錯誤的問題, 弟也有發生, 但第二次執行時就 ok 了, 不知和 interface 有沒有關係. 若要解決這個問題, 你可以利用 import type library 的方式產生 MODI_TLB 這個 pas 檔, 再引入程式後即可!
編輯記錄
ry_lee 重新編輯於 2011-06-05 21:43:29, 註解 無‧
ry_lee 重新編輯於 2011-06-05 21:44:10, 註解 無‧
系統時間:2024-05-08 3:47:02
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!