有没有微信小程序调用百度ai车辆识别接口的程序源码,很简单的就可以?

有没有微信小程序调用百度ai车辆识别接口的程序源码,很简单的就可以?,第1张

class BaiDuAiBaseController extends BaseController

{

private $appid

private $appKey

private $secretKey

public function __construct(){

$this->appid= config('api.baidu.appid')

$this->appKey = config('api.baidu.apikey')

$this->secretKey = config('api.baidu.secretkey')

}

//百度ai接口--文字识别--车牌号识别

public function getCarNumber($_imgurl,$_img=''){

$_token = $this->getToken()

$_url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/license_plate?access_token='.$_token

if($_img){

$_data = [

'image'=>$_img//图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式

]

}else{

$_data = [

'url'=>request()->domain().'/'.$_imgurl

]

}

$_res = json_decode(httpGet($_url,$_data),true)

/庆穗/TODO 此处只返回false没有终止,是因为程序执行流程需要,后期可能要改

if(isset($_res['error_msg'])) return false

return $_res['words_result']['number']

}

//获取token

private function getToken(){

if(cache('baidu_token')){

$_access_token = cache('baidu_token')

}else{

$_url = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id='.$this->appKey.'&client_secret='.$this->secretKey

$res = json_decode(httpGet($_url),true)

if(isset($res['error']))TApiException($res['error_description'])//终止程序并抛出异常

$_access_token = $res['access_token']

$_expires_in = $res['粗轮expires_in']

cache('baidu_token',$_access_token,($_expires_in-1000))//我喜欢少存1000秒,没有为什么,问就是癖好

}

return $_access_token

}

}

这是ThinkPhp5.1后端封装的百度AI接口类,getToken()获取凭证,getCarNumber()请求$_url 返回识别结果,这个是车牌号码识岩差信别,车型识别等其他接口大部分都一样,就换个请求地址$_url就行

//接口:

public function getImgCarNum(){

$_number = (new BaiDuAiBaseController())->getCarNumber(false,request()->param('img'))

return self::myShow('申请成功',['carNum'=>$_number])

}

小程序端正常request请求上面的接口就行,下面是微信小程序拍照识别功能

//拍照

goImgSearch(){

uni.chooseImage({

count:1,

sizeType: ['compressed'],//original 原图,compressed 压缩图

sourceType: ['album','camera'],//camera 相机 album相册

success:(r)=>{

console.log(r)

//执行识别车牌号码

this.img = r.tempFilePaths[0]

this.urlTobase64(r.tempFilePaths[0])

}

})

},

//识别车牌号码

urlTobase64(url){

uni.showLoading({

title:'拼命识别车牌中..'

})

//#ifdef MP-WEIXIN

uni.getFileSystemManager().readFile({

filePath: url, //选择图片时返回的路径

encoding: "base64",//这个是很重要的

success: res =>{ //成功的回调

//返回base64格式

let base64 = 'data:image/jpegbase64,' + res.data

//发送请求,识别车牌号码

this.$H.post('/getImgCarNum',{

img:base64 //图片数据

},{

token:true //必须登录

}).then((res)=>{

console.log(res.carNum)

if(!res.carNum){

uni.hideLoading()

return uni.showModal({

title:'识别失败',

content:'没能识别到车牌号码,请拍张清晰的图片再试哦,谢谢',

showCancel:false

})

}

uni.showToast({

title:'识别车牌成功',

icon:'none'

})

this.searchUser = res.carNum

this.userCarNum = res.carNum

uni.hideLoading()

}).catch((e)=>{

uni.hideLoading()

return uni.showModal({

title:'识别失败',

content:'没能识别到车牌号码,请拍张清晰的图片再试哦,谢谢',

showCancel:false

})

})

},

fail:(e)=>{

console.log(e)

}

})

//#endif

},

获取小程序的源码要打开握册闭安卓模拟器,并在模拟器中安装QQ、微信、RE管理器,然后在模拟器里打开微信,运行你想要获取的小程序,在模拟器运行后,直接切回模拟器桌面运行RE浏览器,来到目段裂录,里面的.wxapkg后缀的文件就是源码。.wxapkg是一个二进制文件,有其自己的一套结构,想要进入到里面的话,用手机自带的文件管理器肯定是不行的,安卓或者iPhone都要姿段要用到第三方的文件管理器,比如:RE文件管理器,并且安卓需要取得root权限,而苹果手机肯定是要越狱的。

一个车位录入3个车牌轮换使用车位的程序祥喊叫天虹智慧停车微信小程序。因为天虹智慧停兆碰车微信小程序一个车位可绑定3个车牌,可以轮换使用车位,天虹的这个智慧停车非常方族宴谈便,绑定了你的车牌号码后,以后每次可以自动识别你的车牌,并且和你的消费绑定自动减免停车费。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12516953.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存