2013-08-16 8 views
7

मैं प्रोग्रामिंग की दुनिया में नया हूं, और ओसीआर का उपयोग करने वाले ऐप को विकसित करने की कोशिश कर रहा हूं। मैं चाहता हूं कि ऐप एकवचन रसीद को टेक्स्ट में परिवर्तित करे (कुछ भी जटिल नहीं)।विंडोज फोन पर ओसीआर 8 WP8

हालांकि मेरी समस्या यह है कि मुझे WP8 पर ओसीआर के लिए जानकारी की कमी और इसे कार्यान्वित करने के तरीके की जानकारी मिल रही है। हालांकि मुझे लगता है कि यह WP के फ़ंक्शन में बनाया गया है और यह जानकारी आसानी से सुलभ हो जाएगी कि इसे कैसे कार्यान्वित किया जाए।

कोई भी जानता है कि मैं कहां देख सकता हूं, या कोड का एक सरल उदाहरण स्निपेट जिसका उपयोग मैं कर सकता था? सदस्यता आधारित सेवा नहीं चाहते हैं।

+1

विंडोज फोन 8 किसी भी ओसीआर एपीआई का समर्थन नहीं करता के रूप में छवि को उम्मीद है। आप कुछ बाहरी पुस्तकालय आज़मा सकते हैं। एक नज़र डालें - http://www.leadtools.com/sdk/windows-phone/default.htm –

+0

@SadAlAbdullah, Pls इसे उत्तर के रूप में डाल दें, माइक्रोसॉफ्ट स्टेटमेंट को अपने उत्तर का समर्थन करें, ताकि हम इसे समाप्त कर सकें। – Eldho

उत्तर

1

माइक्रोसॉफ्ट ने हाल ही में विंडोज रनटाइम के लिए ओसीआर लाइब्रेरी जारी की। जेरी निक्सन ने आपको एक वीडियो पोस्ट किया है, हालांकि यह एक एमएसडीएन लेख भी है।

Jerry Nixon's Blog

MSDN

0

आप एक ही ओसीआर सेवा है कि बिंग लेंस का उपयोग करता है का उपयोग कर प्रयास कर सकते हैं। यदि आपने इसे आजमाया नहीं है: कैमरा खोलें, लेंस को बिंग लेंस में बदलें और इसे

सेवा एंडपॉइंट http://ocrrest.bingvision.net/V1 है। यह आपको अपने बाउंडिंग बॉक्स

के साथ पता लगाए गए पाठ के स्थान के बारे में जानकारी भी देता है। शायद कुछ फिडलर विश्लेषण आपको अपनी छवि को इसी तरह से भेजने में मदद करेगा।

मैं एक छोटे से टुकड़ा जो नीचे बाइट सरणी

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); 
      } 
     } 
    } 
संबंधित मुद्दे