2013-08-16 38 views
7

Tôi là người mới đến với thế giới lập trình và đang cố gắng phát triển một ứng dụng sử dụng OCR. Tôi muốn ứng dụng chuyển đổi biên nhận số ít thành văn bản (không có gì quá phức tạp).OCR trên Windows Phone 8 WP8

Tuy nhiên, vấn đề của tôi là tôi đang tìm kiếm thiếu thông tin cho OCR trên WP8 và cách triển khai nó. Tôi sẽ có mặc dù đó là một chức năng được xây dựng trong WP và thông tin đó sẽ dễ dàng truy cập như thế nào để thực hiện nó.

Bất kỳ ai biết nơi tôi có thể xem hoặc một đoạn mã ví dụ đơn giản mà tôi có thể sử dụng? Không muốn dịch vụ dựa trên đăng ký.

+1

Windows phone 8 không hỗ trợ bất kỳ API OCR. bạn có thể thử một số thư viện bên ngoài. Hãy xem qua - http://www.leadtools.com/sdk/windows-phone/default.htm –

+0

@SadAlAbdullah, Xin hãy đặt câu trả lời này là câu trả lời, thêm câu lệnh Microsoft sao lưu câu trả lời của bạn, để chúng tôi có thể kết thúc. – Eldho

Trả lời

1

Microsoft gần đây đã phát hành Thư viện OCR cho Windows Runtime. Jerry Nixon đã đăng một video hướng dẫn bạn mặc dù nó, và đó cũng là một bài viết msdn.

Jerry Nixon's Blog

MSDN

0

Bạn có thể thử sử dụng dịch vụ OCR cùng rằng Bing Lens sử dụng. Nếu bạn chưa thử: hãy mở máy ảnh, thay đổi ống kính thành ống kính bing và thử nó ra

Điểm cuối dịch vụ là http://ocrrest.bingvision.net/V1. Nó cũng cung cấp cho bạn thông tin về vị trí của văn bản được phát hiện với các hộp giới hạn của chúng

Có thể một số phân tích không thích hợp sẽ giúp bạn gửi hình ảnh của bạn theo cách tương tự.

Tôi có một đoạn mã nhỏ dưới đây mà hy vọng hình ảnh như mảng byte

public static readonly string ocrServiceUrl = "http://ocrrest.bingvision.net/V1";   // was: "platform.bing.com/ocr/V1"; 
    public static readonly string ocrLanguage = "en"; 

    public static async Task<JsonObject> MakeOcrJSON(byte[] image) 
    { 
     HttpWebRequest request = (HttpWebRequest)WebRequest.Create(string.Format("{0}/Recognize/{1}", ocrServiceUrl, ocrLanguage)); 
     request.Method = "POST"; 

     using (Stream requestStream = await request.GetRequestStreamAsync()) 
     { 
      requestStream.Write(image, 0, image.Length); 
     } 

     try 
     { 
      using (HttpWebResponse response = (HttpWebResponse) (await request.GetResponseAsync())) 
      { 
       using (var responseStream = new StreamReader(response.GetResponseStream())) 
       { 
        var json = JsonObject.Parse(responseStream.ReadToEnd()); 
        return json; 
       } 
      } 
     } 
     catch (WebException we) 
     { 
      using (Stream responseStream = we.Response.GetResponseStream()) 
      { 
       DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(OcrResponse)); 
       OcrResponse ocrResponse = (OcrResponse)serializer.ReadObject(responseStream); 
       string ErrorMessage = "Unknown Error"; 
       if (ocrResponse.OcrFault.HasValue) 
       { 
        ErrorMessage = string.Format(
         "HTTP status code: {0} Message: {1}", 
         ocrResponse.OcrFault.Value.HttpStatusCode, 
         ocrResponse.OcrFault.Value.Message); 
       } 
       throw new Exception(ErrorMessage); 
      } 
     } 
    } 
Các vấn đề liên quan