概述
由于有一本古籍需要识别,网上找了几个软件对于繁体字均感觉识别率不高。试了下发现百度的识别率还可以,于是想自己写一个调用百度图片识别api的程序。
用Delphi2010编码实现。在开发中遇到了几个问题,现写出来供需要的朋友参考。
1. SSL问题,用的是indyhttp控件,使用SSL时需要添加 IdSSLIOHandlerSocketOpenSSL1 组件
然后 idhttp的iohandler 属性指向 IdSSLIOHandlerSocketOpenSSL1。
然后 SSLoptions 的method属性改为 sslvSSLv23
然后再放置两个SSL用到的 DLL 文件,可从这里下载Delphi 2010兼容的dll文件 http://pan.baidu.com/s/1mh6Lu6O
2.图片编码问题,刚开始试用了各种编码,总是提示 error_code":216201,"error_msg":"image format error
后在网上看到有人提示indy控件默认会对参数重新编码,把这个属性关闭后图片上传正常。
具体属性:httpoptions下的hoforceencodeparams关闭。
图片编码为base64,然后urlencode一下即可。
3.识别完成后的中文乱码问题
其实传回的只要utf8转为unicode的,但由于一开始图简单,用了 result:= indyhttp.post(url,img) 这样的方法来直接获取返回值,导致返回值被indy又编码了一次。然后再解码就总是不正常。
后改为post内用流接收返回值,然后再utf8解码正常。
具体源码可以从这里下载:http://download.csdn.net/detail/ufo2006/9820149
最后
以上就是娇气楼房为你收集整理的调用百度大脑智能里的文字识别实现图片识别的全部内容,希望文章能够帮你解决调用百度大脑智能里的文字识别实现图片识别所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复