Go 车牌识别 (网络图片| 本地图片)
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,先注册一个百度云账号,然后选择 人工智能 文字识别,创建一个应用。获取appkey secret 。网络图片package mainimport ( "encoding/base64" "en
千家信息网最后更新 2026年11月03日Go 车牌识别 (网络图片| 本地图片)

先注册一个百度云账号,然后选择 人工智能 文字识别,创建一个应用。获取appkey secret 。
网络图片
package mainimport ( "encoding/base64" "encoding/json" "io/ioutil" "log" "net/http" "net/url")func main() { handler := PlateHandler{} appKey := "11111" secret := "11111111z" accessToken := handler.GetAccessToken(appKey, secret) log.Println("获取到的accessToken:",accessToken) pictureUrl := "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2181674788,2215933125&fm=26&gp=0.jpg" plate,err:=handler.GetPlate(pictureUrl,accessToken) if err!=nil{ log.Fatal("获取车牌失败",err) } log.Println("获取到的车牌:",plate)}type accessTokenInfo struct { AccessToken string `json:"access_token"` ExpiresIn int64 `json:"expires_in""`}type WordResult struct { Number string `json:"number"`}type Data struct { WordsResult WordResult `json:"words_result"`}type PlateHandler struct {}func (handler *PlateHandler) GetAccessToken(appKey string, appSecret string) (accessToken string) { url := "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id="+appKey+"&client_secret="+appSecret response, err := http.Get(url) if err != nil { log.Fatal(err) return "" } data, err := ioutil.ReadAll(response.Body) if err != nil { log.Fatal(err) return "" } info := accessTokenInfo{} json.Unmarshal(data, &info) log.Print("请求accessToken返回的数据:", string(data)) return info.AccessToken}func (handler *PlateHandler) GetPlate(picture_url string,accessToken string) (plate string, err error) { rsp, err := http.Get(picture_url) if err != nil { log.Fatal(err) return "", err } image, _ := ioutil.ReadAll(rsp.Body) image_value, err2 := url.Parse(base64.StdEncoding.EncodeToString(image)) if err2 != nil { log.Fatal(err) return "", err } to_url := "https://aip.baidubce.com/rest/2.0/ocr/v1/license_plate?access_token="+accessToken values := url.Values{} values.Add("image", image_value.EscapedPath()) values.Add("multi_detect", "false") rsp2, err := http.PostForm(to_url, values) defer rsp2.Body.Close() if err != nil { log.Fatal(err) return "", err } data, err := ioutil.ReadAll(rsp2.Body) if err != nil { log.Fatal(err) return "", err } log.Println("请求车牌返回的数据:",string(data)) m := Data{} err = json.Unmarshal(data, &m) if err != nil { log.Fatal(err) return "", err } log.Println(m) return m.WordsResult.Number, nil}本地图片
package mainimport ( "encoding/base64" "encoding/json" "io/ioutil" "log" "net/http" "net/url" "os")func main() { handler := PlateHandler{} appKey := "111111111" secret := "111111111" accessToken := handler.GetAccessToken(appKey, secret) log.Println("获取到的accessToken:",accessToken) pictureUrl := "day02/img/1.png" // 路径,从根开始写 plate,err:=handler.GetPlate(pictureUrl,accessToken) if err!=nil{ log.Fatal("获取车牌失败",err) } log.Println("获取到的车牌:",plate)}type accessTokenInfo struct { AccessToken string `json:"access_token"` ExpiresIn int64 `json:"expires_in""`}type WordResult struct { Number string `json:"number"`}type Data struct { WordsResult WordResult `json:"words_result"`}type PlateHandler struct {}func (handler *PlateHandler) GetAccessToken(appKey string, appSecret string) (accessToken string) { url := "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id="+appKey+"&client_secret="+appSecret response, err := http.Get(url) if err != nil { log.Fatal(err) return "" } data, err := ioutil.ReadAll(response.Body) if err != nil { log.Fatal(err) return "" } info := accessTokenInfo{} json.Unmarshal(data, &info) log.Print("请求accessToken返回的数据:", string(data)) return info.AccessToken}func (handler *PlateHandler) GetPlate(picture_url string,accessToken string) (plate string, err error) { ff, _ := os.Open(picture_url) sourcebuffer := make([]byte, 50000000000) n, _ := ff.Read(sourcebuffer) //base64压缩 sourcestring := base64.StdEncoding.EncodeToString(sourcebuffer[:n]) to_url := "https://aip.baidubce.com/rest/2.0/ocr/v1/license_plate?access_token="+accessToken values := url.Values{} values.Add("image", sourcestring) values.Add("multi_detect", "false") rsp2, err := http.PostForm(to_url, values) defer rsp2.Body.Close() if err != nil { log.Fatal(err) return "", err } data, err := ioutil.ReadAll(rsp2.Body) if err != nil { log.Fatal(err) return "", err } log.Println("请求车牌返回的数据:",string(data)) m := Data{} err = json.Unmarshal(data, &m) if err != nil { log.Fatal(err) return "", err } log.Println(m) return m.WordsResult.Number, nil}结果
2019/12/25 11:48:34 请求车牌返回的数据: {"log_id": 8926648569804002425, "words_result": {"color": "blue", "number": "豫A99999", "probability": [0.9014493227005005, 0.9014158248901367, 0.900929868221283, 0.9012478590011597, 0.901341438293457, 0.9010871052742004, 0.9010393619537354], "vertexes_location": [{"y": 181, "x": 241}, {"y": 173, "x": 439}, {"y": 229, "x": 442}, {"y": 236, "x": 244}]}}2019/12/25 11:48:34 {{豫A99999}}2019/12/25 11:48:34 获取到的车牌: 豫A99999
车牌
数据
图片
网络
人工
人工智能
文字
智能
结果
账号
路径
应用
选择
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州万易互联网科技有限公司
互联网科技会
喔噻互联网科技
奇酷互联网科技公司
奇酷互联网络科技
互联网金融科技平台
联恩商钥互联网科技有限公司
互联网公司会议桌创意科技软装饰
茂名市互联网科技产业园
互联网对科技的发展
深圳艾果互联网通讯科技
互联网在线教育科技创业
扫呗互联网科技有限公司
万物互联网智能科技
互联网科技职业技能培训学校
互联网科技品牌
安徽九吞吴互联网科技有限公司
互联网科技企业文化
广州全民伙伴互联网科技有限公司
株洲百竞科技的互联网营销顾问
互联网科技公司排名
深圳市人人互联网科技有限公司
互联网科技小额贷款
济南和联互联网科技有限公司
未来五年的互联网科技
深圳市罗太互联网科技有限公司
用友工业互联网科技发展
互联网方面的科技前沿
北京市互联网新科技
知域互联网科技有限公司官网