进行图片识别后传入接口问题提出与解决
Posted wudisanrenzu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进行图片识别后传入接口问题提出与解决相关的知识,希望对你有一定的参考价值。
首先,对于Android内的代码进行带入,可以实现,
后来,进行数据格式输出的筛选,目前人工智能给出的答案格式不同,利用正则表达式提取不全,但可以提取,另外,在查找可以语法格式来针chatgpt,以实现结果的规范输出。
还有一个很悲伤的事,接口被停了,看看博主进行维护的怎么样,可以的化这个项目还是可以用的
TSINGSEE青犀视频开发景区AI行人识别调用动态行人识别失败问题排查及解决
前段时间我们的景区行人检测功能一直在项目中进行测试,但是检测的AI算法没有达到我们的理想效果,因此我们考虑使用百度AI算法(动态行人识别)来进行调整。在使用GO调用百度AI接口的过程中出现调用失败的情况:
错误信息如下:
此错误的信息表示:传入的图片格式错误。
文档中image传入的是base64编码:
所以是直接传入的base64编码,还验证此编码是否正确(在html中验证),传进去的还是图片格式错误。在进行base64编码之后还要进行urlencode编码,所以要做二次操作。
那么为什么需要这么做呢?有三个原因:
1.当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符的;
2.因为url对字符有限制,比如把一个邮箱放入url,就需要使用urlencode函数,因为url中不能包含@字符;
3.url转义其实也只是为了符合url的规范而已。因为在标准的url规范中中文和很多的字符是不允许出现在url中的。
注意:还有一些非ASCII字符、一些保留字符(如:&放到url中就无法分割)和一些不安全字符(如:空格、“+”和“%”等等)
通过上述得知:一张图片需要转base64之后,在进行urlencode编码,把最后生成的值转入image参数中,如下:
escapeUrl := url.QueryEscape(imageBase64)
data := strings.NewReader(fmt.Sprintf(`dynamic=true&case_id=%d&case_init=%s&image=%s&area=%s`,
case_id, dcase_init, escapeUrl, area))
以上是关于进行图片识别后传入接口问题提出与解决的主要内容,如果未能解决你的问题,请参考以下文章