unity进行文字图像识别——Face++
2017-09-25 10:40
627 查看
文字识别没那么难,因为我们有别人提供的API——————
想做一个数字的识别,就研究了一下Face++的API
首先我们需要在Face++官网注册一个用户,网址https://www.faceplusplus.com.cn/
注册完后我们就需要创建应用,以便于获取一个key值和secret值,这点是非常重要的,我们用的是试用版,正式的是需要收费的
然后找到我们的控制台,查看相应的API吧,如图所示:
这API里介绍的很详细,示例也很清楚。
POST的请求,请求参数和返回值这两个是关键,请求参数就是我们访问他给的网址需要传递过去的参数,返回值就是识别后返回给我们的值,这里返回识别值是Unicode编码的,这里用因为返回的是json串,所以用引入litjson,解析一下就可以输出识别出的字了。
如图是请求与返回参数:
这里附上代码:
然后给大家看看面板是什么样子的,如图:
有了面板和代码,大家应该就很清楚了。
图片是访问的网络的,不过API里介绍有明确的图片各种限制和报错返回值的可能原因,大家可以根据原因来差错。
我用的是这个图片,成功识别出,网址:
如图:
结果图:
到此,简单的图片识别流程就OK了。不管是识别本地图片还是网络图片,根据API来就可以了。
想做一个数字的识别,就研究了一下Face++的API
首先我们需要在Face++官网注册一个用户,网址https://www.faceplusplus.com.cn/
注册完后我们就需要创建应用,以便于获取一个key值和secret值,这点是非常重要的,我们用的是试用版,正式的是需要收费的
然后找到我们的控制台,查看相应的API吧,如图所示:
这API里介绍的很详细,示例也很清楚。
POST的请求,请求参数和返回值这两个是关键,请求参数就是我们访问他给的网址需要传递过去的参数,返回值就是识别后返回给我们的值,这里返回识别值是Unicode编码的,这里用因为返回的是json串,所以用引入litjson,解析一下就可以输出识别出的字了。
如图是请求与返回参数:
这里附上代码:
using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine; using LitJson; using UnityEngine.UI; public class FaceTest1 : MonoBehaviour { public string ImageURL = ""; //按钮上的文本 public Text Btn_ShibieText; //显示结果 public GameObject ShowResult; // Use this for initialization void Start() { } // Update is called once per frame void Update() { } public void TestHttpSend() { //识别文字 WWWForm form = new WWWForm(); form.AddField("api_key", "q8QTfr-xS5hm-i25JuWRLmWQQSHRRtzy"); form.AddField("api_secret", "3JAabNdllrl-Dm_-iYSG43B0ewypFlWt"); form.AddField("image_url", ImageURL); StartCoroutine(SendPost("https://api-cn.faceplusplus.com/imagepp/v1/recognizetext", form)); } //提交数据进行识别 IEnumerator SendPost(string _url, WWWForm _wForm) { WWW postData = new WWW(_url, _wForm); yield return postData; if (postData.error != "") { Debug.Log(postData.error); ShowResult.SetActive(true); Btn_ShibieText.text = "识别"; ShowResult.transform.Find("Text").GetComponent<Text>().text = "识别失败!"; GameObject.Find("DebugText").GetComponent<Text>().text = postData.error; //myTimer = 2.0f; } else { Btn_ShibieText.text = "识别"; Debug.Log(postData.text); GameObject.Find("DebugText").GetComponent<Text>().text = postData.text; JsonJieXi(postData.text); } } void JsonJieXi(string str) { JsonData jd = JsonMapper.ToObject(str); Debug.Log(jd["result"].Count); for (int i = 0; i < jd["result"].Count; i++) { for (int j = 0; j < jd["result"][i]["child-objects"].Count; j++) { Debug.Log(jd["result"][i]["child-objects"][j]["type"].ToString()); Debug.Log(jd["result"][i]["child-objects"][j]["value"].ToString()); } } } }
然后给大家看看面板是什么样子的,如图:
有了面板和代码,大家应该就很清楚了。
图片是访问的网络的,不过API里介绍有明确的图片各种限制和报错返回值的可能原因,大家可以根据原因来差错。
我用的是这个图片,成功识别出,网址:
如图:
结果图:
到此,简单的图片识别流程就OK了。不管是识别本地图片还是网络图片,根据API来就可以了。
相关文章推荐
- Unity 图像识别 接入Face++ 进行 场景识别 和 文字识别
- C#调用DLL实现图像文字识别(OCR)
- 利用开源工具Tesseract进行文字识别
- Java文字图像识别
- python图像文字识别的环境搭建
- Python2.7利用Tesseract进行中英文图像识别
- 第三期 利用已经训练的神经网络进行图像识别 《显卡就是开发板》
- OneNote 中识别图像中的文字
- iOS中使用opencv进行图像识别操作(一)步骤很多,这一篇只是讲了第一步.
- Java OCR tesseract 图像智能文字字符识别技术实例代码
- py库: Tesseract-OCR(图像文字识别)
- 图像识别的前期工作——使用pillow进行图像处理
- Python 利用pytesser模块识别图像文字
- 利用Python进行简单的图像识别(验证码)
- Python图像处理之识别图像中的文字
- ROS使用笔记本自带USB摄像头运行pi_face_tracker,进行人脸识别
- Zybo智能小车识别图像中的文字
- 《炼数成金》第八课 保存和载入模型,使用Google的图像识别网络inception-v3进行图像识别。
- 关于使用ImageMagick和Tesseract进行简单数字图像识别
- 七.使用OpenCv进行图像颜色识别