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安全错误
数据库的锁怎样保障安全
新华互联网科技学校
科技信息互联网
睿民互联网科技
四川狮子座互联网科技
中正互联网科技招聘
汽车互联网创新科技园
世界互联网领先科技成果获奖
山东子淼互联网科技有限公司
高科技互联网套路
中天科技中国工业互联网
上海创道互联网络科技有限公司
图游互联网科技
陕西云淼互联网科技公司
唯美互联网科技
银川新华互联网科技学校是国营吗
北京天晋互联网科技有限公司
美国五大互联网科技公司市值多少
盐城市攀科互联网科技有限公司
杭州科技互联网公司有哪些
山东亿川互联网科技有限责任公司
互联网科技工作委员会主任
互联网最新的科技
互联网电商科技
隆华科技工业互联网
北京大学互联网科技怎么样
欧洲十大科技互联网公司
武汉健翔互联网络科技有限公司
未来五年的互联网科技
抖集互联网科技技术咨询
陕西九四连强互联网科技有限公司