Golang は Baidu AI インターフェイスに接続してテキスト認識機能を実装します。クイック スタート
概要:
今日の情報爆発の時代において、テキスト認識テクノロジは強力な強力なツール。 Baidu AI オープン プラットフォームは、強力なテキスト認識インターフェイスを提供します。この記事では、Golang 言語を使用して Baidu AI インターフェースに接続し、テキスト認識機能を実現する方法を紹介します。この記事のクイック スタートを通じて、読者は Baidu AI のテキスト認識サービスをすぐに使い始めて使用できるようになります。
ステップ 1: Baidu AI オープン プラットフォーム アカウントを申請する
まず、Baidu 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 }
コードでは、まず、申請した API キーと秘密キーを apiKey 定数と SecretKey 定数に入力する必要があります。次に、getAccessToken 関数を通じて Baidu AI インターフェイスの access_token を取得し、テキスト認識のために ocr 関数を通じて Baidu AI インターフェイスを呼び出します。最後に認識結果を抽出して出力します。
ステップ 4: コードを実行して認識結果を取得する
上記のコードを Go ソース ファイル (main.go など) として保存し、コマンド ラインで次のコマンドを実行して実行します。コード:
go run main.go
このコードは、現在のディレクトリにある example.jpg 画像ファイルを読み取り、結果をコンソールに出力します。実際のニーズに基づいて、例の画像を独自の画像ファイルに置き換えることができます。
概要:
上記の手順により、Golang を使用して Baidu AI インターフェイスに接続し、テキスト認識機能を実現することに成功しました。より複雑なアプリケーション シナリオに対応するために、ニーズに応じてコードを変更および拡張できます。この記事が役に立ち、Baidu AI のテキスト認識サービスをよりよく理解し、使用できるようになることを願っています。
以上がGolang は Baidu AI インターフェースに接続し、クイックスタートのためのテキスト認識機能を実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。