我是新來的編程世界,並且正在嘗試開發一個使用OCR的應用程序。 我想要應用程序將單數收據轉換爲文本(沒有太複雜的)。Windows Phone 8上的OCR WP8
然而,我的問題是,我發現缺乏WP8上的OCR信息,以及如何實現它。 雖然這是WP的內置函數,但如何實現它,這些信息將很容易獲取。
任何人都知道我可以在哪裏看,或者我可以使用一個簡單的示例代碼片段? 不需要基於訂閱的服務。
我是新來的編程世界,並且正在嘗試開發一個使用OCR的應用程序。 我想要應用程序將單數收據轉換爲文本(沒有太複雜的)。Windows Phone 8上的OCR WP8
然而,我的問題是,我發現缺乏WP8上的OCR信息,以及如何實現它。 雖然這是WP的內置函數,但如何實現它,這些信息將很容易獲取。
任何人都知道我可以在哪裏看,或者我可以使用一個簡單的示例代碼片段? 不需要基於訂閱的服務。
您可以嘗試使用Bing的鏡頭使用相同的OCR服務。如果您還沒有嘗試過:打開相機,將鏡頭更換爲鏡頭並嘗試一下
服務終點是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);
}
}
}
的Windows 8手機不支持任何OCR API。你可以嘗試一些外部庫。看一看 - http://www.leadtools.com/sdk/windows-phone/default.htm –
@SadAlAbdullah,請把這個作爲答案,添加微軟聲明支持你的答案,這樣我們就可以結束了。 – Eldho