2011-07-14 14 views
6

Tôi đã đấu tranh để MODI hoạt động bình thường vào tất cả các ngày hôm nay. Dưới đây là đoạn code tôi đang cố gắng sử dụng (chuyển thể từ VB đưa ra tại Wikipedia cho MODI"Lỗi chạy OCR" khi sử dụng MODI 2003 với C#

private void button1_Click(object sender, EventArgs e) 
{ 
    string inputFile = @"C:\testImage.bmp"; 
    textBox1.Text = GetTextFromImage(inputFile); 
} 

private string GetTextFromImage(string fileName) 
{ 
    string output = ""; 
    var doc1 = new MODI.Document(); 
    doc1.Create(fileName); 
    doc1.OCR(MiLANGUAGES.miLANG_ENGLISH, false, false); 

    for (int i = 0; i < doc1.Images.Count; i++) 
    { 
     output += doc1.Images[i].Layout.Text; 
    } 

    doc1.Close(); 
    return output; 
} 

Khi tôi thực hiện điều này, tôi nhận được một lỗi trên dòng OCR() nói như sau:.

System.Runtime.InteropServices.COMException was unhandledMessage=OCR running error Source="" ErrorCode=-959967087 

Bây giờ, tôi nhìn lên rằng mã lỗi và tìm thấy một stackoverflow question trong đó họ phát hiện ra rằng họ không thể chạy OCR trên hình ảnh nhỏ, nhưng một trong câu hỏi là 1700 x 2338, mà nên được rất nhiều đủ lớn vì nguyên nhân.

Có ai có lời khuyên nào về việc đi đâu tiếp theo không?

Trả lời

0

Tôi gặp sự cố tương tự và thông báo lỗi khủng khiếp vô cùng dường như được tạo khi MODI không thể OCR bitmap. Các giải pháp tôi đưa ra là:

1 - Tạo bitmap của bạn bằng một trong hai định dạng này System.Drawing.Imaging.PixelFormat.Format24bppRgb hoặc System.Drawing.Imaging.PixelFormat.Format16bppRgb555

2 - Xóa nền của bitmap thành màu trắng và sau đó sao chép văn bản "hình ảnh" của bạn vào giữa nó và sau đó thực hiện MODI.Document.Create (......

4

Dường như các lỗi MODI có thể được tích lũy, tuy nhiên thông qua điều tra khác nhau có vẻ như nó có thể được gắn với DPI.Thay đổi PixelFormat, xóa nền, điều chỉnh kích thước hình ảnh thô và điều chỉnh các cờ OCROrientImageOCRStraightenImage không có hiệu lực.

Điều gì đã hiệu quả đối với tôi là sửa đổi DPI của văn bản Bitmap cho cả ngang và dọc thành 300. Giá trị mặc định cho Bitmap là 96 và làm việc với một hình ảnh cụ thể đã hoạt động.

-2

Thay đổi mã của bạn như thế này:

doc1.OCR; 

Và để cho động cơ quyết định ngôn ngữ riêng của mình.

+0

điều này gây ra lỗi ngôn ngữ xấu khi bạn có charachters với fontsize nhỏ hơn 10 .. –

0

Đó không phải là vấn đề về mã. Chỉ cần cập nhật Office 2003 gói dịch vụ 3. Dưới đây là liên kết https://www.microsoft.com/en-us/download/details.aspx?id=8

Nó sẽ làm việc tốt ....

+0

Thay vì đăng các liên kết như câu trả lời thêm một số văn bản để giải thích làm thế nào câu trả lời này giúp OP trong việc sửa chữa vấn đề hiện tại. –

Các vấn đề liên quan