调用百度大脑智能里的文字识别实现图片识别

由于有一本古籍需要识别,网上找了几个软件对于繁体字均感觉识别率不高。试了下发现百度的识别率还可以,于是想自己写一个调用百度图片识别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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值