本篇文章给大家谈谈车牌识别程序c,以及车牌识别源码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
识别车的微信小程序开发
贡献用户名:【倾尽年华终是梦】 ,现在由道尔智控小编为你详解与【车牌识别程序c】的相关内容!
贡献者回答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 = ';.$_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 = ';.$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/jpeg;base64,' + 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
},

关于(车牌识别程序c)车牌识别源码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于车牌识别程序c的信息别忘了在本站进行查找喔。