Futorial

Fu-styled tutorial
See also: Other Geeks@INDC

Meng-ekstrak teks dari gambar

Ada beberapa cara untuk meng-ekstrak teks dari gambar. Yang jelas, memang gak ada kelas OCR (Optical Character Recognition) di .NET sehingga kita butuh bantuan 3rd party tools. Saat ini yang baru saya coba adalah dengan menggunakan COM object dari Office 2007, yaitu Microsoft Office Document Imaging. Wahhh, jangan-jangan pada belum tahu nih, kalo Microsoft Office itu juga udah ada OCR nya..?

Oke, sebelum meng-ekstrak gambar, tentunya kita harus punya gambarnya dulu. Nah, saya membuat gambar dengan menggunakan Expression Design. Seperti ini…

image

Block semua objek, kemudian klik kanan, lalu pilih Export…

image

Pilih TIFF sebagai format

image

Tentukan nama file (kalau saya misalnya jadi Fuady.tif) dan lokasi file (kalau saya misalkan di C:\Temp) Klik tombol Export All.

Nahh, sekarang kita udah punya gambar.

Oke, pertama-tama, kita pakai Microsoft Office OneNote 2007, kita bisa ambil teks dari gambar. Caranya sangat sederhana. Buka OneNote, kemudian pilih menu Insert > Pictures > From Files…

image

Pilih gambar yang baru saja kita buat (Fuady.tif). Klik kanan gambar tersebut, kemudian pilih “Copy Text From Picture…”

image

Paste deh… tadaaaa..

image

Ehm.. intinya sih bukan ini.. karena yang mau saya lakukan itu adalah dari C#. So, kita bisa pakai objek COM yang terdapat pada Microsoft Office, yaitu Microsoft Office Document Imaging (MODI). MODI ini akan ada kalau kita pilih ketika install Office lho ya.. jadi gak secara otomatis ada. Ketika install Office, jangan lupa pilih komponen Microsoft Office Document Imaging untuk diinstall juga.

image

Bagi yang belum terinstall, toh kan kita bisa Add or Remove Features. Double-click aja file instalasinya (setup.exe) trus klik tombol continue, trus baru kita pilih komponen Microsoft Office Document Imaging untuk diinstall.

image

 

 

Oke, setelah terinstall, akan ada COM object yang bisa kita add di aplikasi kita. Contohnya, kita buat aplikasi WPF (yang tampilannya sengaja saya samakan dengan aplikasi di post saya sebelumnya) yang akan memanfaatkan COM bernama MODI ini.

Di aplikasi WPF ini, kita add reference ke MODI (klik kanan di Solution Explorer, kemudian pilih COM, lalu cari Microsoft Office Document Imaging 12.0 Type Library)

image

Nah, di Window1.xaml.cs, kita import namespace MODI

using MODI;

Kemudian masih di file yang sama, Window1.xaml.cs, isi method Button_Click dengan code ini

Document md = new Document();
md.Create(@"C:\Temp\Fuady.tif");
md.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, true, true);

MODI.Image image = (MODI.Image)md.Images[0];
MODI.Layout layout = image.Layout;

for (int j = 0; j < layout.Words.Count; j++)
{
    // Get this word and deal with it.
    MODI.Word word = (MODI.Word)layout.Words[j];
    textBlockResult.Text += "\n" + word.Text;
}

md.Close(false);

Coba kita tes yahh..

image

Yess!!! Berhasil…!!! Selamat mencoba :)

Sumber: Using The Office 2007 OCR Component in C#

Share this post: | | | |

Comments

Ronald Rajagukguk said:

He3x weekend ini karena gak ada kerjaan maka buka2x blog dan tertarik ngoprek ketika membaca posting

# January 10, 2009 5:21 PM