Golang은 Baidu AI 인터페이스에 연결하여 텍스트 인식 기능 구현, 빠른 시작
개요:
오늘날의 정보 폭발 시대에 텍스트 인식 기술은 강력한 도구가 되었습니다. Baidu AI 개방형 플랫폼은 강력한 텍스트 인식 인터페이스를 제공합니다. 이 기사에서는 Golang 언어를 사용하여 Baidu AI 인터페이스에 연결하여 텍스트 인식 기능을 구현하는 방법을 소개합니다. 이 글의 빠른 시작을 통해 독자들은 바이두 AI의 문자 인식 서비스를 빠르게 시작하고 사용할 수 있을 것이다.
1단계: 바이두 AI 오픈 플랫폼 계정 신청
먼저 바이두 AI 오픈 플랫폼에 계정을 등록하고 문자 인식 애플리케이션을 만들어야 합니다. 애플리케이션을 생성할 때 "텍스트 인식" 서비스를 수동으로 활성화하고 "API 키"와 "비밀 키"를 얻어야 합니다.
2단계: Golang의 HTTP 요청 라이브러리 설치
Go 언어에서는 타사 라이브러리를 사용하여 HTTP 요청을 보낼 수 있습니다. 여기에서는 사용하기 쉽고 강력한 공식 "net/http" 라이브러리를 사용하는 것이 좋습니다. 다음 명령을 통해 라이브러리를 설치할 수 있습니다.
go get -u github.com/go-redis/redis/v8
3단계: Baidu AI 인터페이스를 호출하는 코드 작성
다음 샘플 코드는 Golang을 사용하여 Baidu AI 인터페이스에 연결하여 텍스트 인식 기능을 구현하는 방법을 보여줍니다.
package main import ( "bytes" "encoding/base64" "encoding/json" "fmt" "io/ioutil" "net/http" "os" "path/filepath" ) const ( apiKey = "YOUR_API_KEY" secretKey = "YOUR_SECRET_KEY" ) type AccessTokenResponse struct { AccessToken string `json:"access_token"` } type OCRResponse struct { WordsResult []struct { Words string `json:"words"` } `json:"words_result"` } func main() { // 读取图片文件 imageFile, err := os.Open("example.jpg") defer imageFile.Close() if err != nil { fmt.Println(err) return } // 将图片文件编码为base64字符串 fileInfo, _ := imageFile.Stat() size := fileInfo.Size() buffer := make([]byte, size) imageFile.Read(buffer) imageBase64 := base64.StdEncoding.EncodeToString(buffer) // 获取百度AI接口的access_token accessToken, err := getAccessToken(apiKey, secretKey) if err != nil { fmt.Println(err) return } // 调用百度AI接口进行文字识别 ocrResponse, err := ocr(accessToken, imageBase64) if err != nil { fmt.Println(err) return } // 提取识别结果 for _, words := range ocrResponse.WordsResult { fmt.Println(words.Words) } } // 获取百度AI接口的access_token func getAccessToken(apiKey string, secretKey string) (string, error) { client := &http.Client{} request, err := http.NewRequest("GET", "https://aip.baidubce.com/oauth/2.0/token", nil) if err != nil { return "", err } q := request.URL.Query() q.Add("grant_type", "client_credentials") q.Add("client_id", apiKey) q.Add("client_secret", secretKey) request.URL.RawQuery = q.Encode() response, err := client.Do(request) if err != nil { return "", err } defer response.Body.Close() body, err := ioutil.ReadAll(response.Body) if err != nil { return "", err } var accessTokenResponse AccessTokenResponse err = json.Unmarshal(body, &accessTokenResponse) if err != nil { return "", err } return accessTokenResponse.AccessToken, nil } // 调用百度AI接口进行文字识别 func ocr(accessToken string, imageBase64 string) (OCRResponse, error) { client := &http.Client{} request, err := http.NewRequest("POST", "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic", bytes.NewBuffer([]byte(imageBase64))) if err != nil { return OCRResponse{}, err } request.Header.Set("Content-Type", "application/x-www-form-urlencoded") q := request.URL.Query() q.Add("access_token", accessToken) request.URL.RawQuery = q.Encode() response, err := client.Do(request) if err != nil { return OCRResponse{}, err } defer response.Body.Close() body, err := ioutil.ReadAll(response.Body) if err != nil { return OCRResponse{}, err } var ocrResponse OCRResponse err = json.Unmarshal(body, &ocrResponse) if err != nil { return OCRResponse{}, err } return ocrResponse, nil }
In the 코드를 사용하려면 먼저 apiKey 및 secretKey 상수에 적용된 API 키와 비밀 키를 입력해야 합니다. 그런 다음 getAccessToken 함수를 통해 Baidu AI 인터페이스의 access_token을 얻은 다음 텍스트 인식을 위한 ocr 함수를 통해 Baidu AI 인터페이스를 호출합니다. 마지막으로 인식 결과를 추출하여 출력합니다.
4단계: 코드 실행 및 인식 결과 가져오기
위 코드를 Go 소스 파일(예: main.go)로 저장한 후 명령줄에서 다음 명령을 실행하여 코드를 실행합니다.
go run main.go
코드는 현재 디렉터리 example.jpg 이미지 파일의 파일을 읽고 결과를 콘솔에 출력합니다. 실제 필요에 따라 예제의 이미지를 사용자 고유의 이미지 파일로 바꿀 수 있습니다.
요약:
위 단계를 통해 Golang을 사용하여 Baidu AI 인터페이스에 연결하고 텍스트 인식 기능을 구현하는 데 성공했습니다. 보다 복잡한 애플리케이션 시나리오를 충족하기 위해 필요에 따라 코드를 수정하고 확장할 수 있습니다. 이 글이 여러분에게 바이두 AI의 문자 인식 서비스를 더 잘 이해하고 사용하는 데 도움이 되기를 바랍니다.
위 내용은 Golang은 Baidu AI 인터페이스에 연결하여 텍스트 인식 기능을 실현하고 빠르게 시작합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!