写真・文:ミー・シェン
WeChat アプレットは、アプレットに基づいたユニバーサル印刷 OCR 認識を提供します。簡単に言うと、アプレットは写真を撮るか写真を選択すると、アプレットがインターフェイスを呼び出して認識内容を識別して返します。
これを共有します。メインのミニ プログラムである ocr.printedText の公式デモは比較的カジュアルで、多くの詳細が一度に述べられているため、一部の友人はよく理解できないかもしれません。ここでは主に、 WeChat アプレットクラウド開発とテキストへの画像認識のためのユニバーサル OCR 認識の 2 つのモードを共有します。これは開発仲間が遭遇した問題でもあるので、リスト化してデモとして共有します。
ミニ プログラムでは、ID カード OCR 認識、銀行カード OCR 認識、運転免許証 OCR 認識、一般的な OCR 認識画像認識など、数種類の OCR 認識が提供されており、誰もがこの一般的な認識について推論することができます。
デモのプレビュー:
写真をアップロードすることを指しますが、この写真のアップロードに関して、携帯電話は写真の撮影とアルバムからの選択をサポートしています。
ミニプログラムアップロードインターフェース
画像を選択するための WXML ボタン。
上传图片 {
{item.text}}
JS部分
// pages/upload/upload.jsPage({ /** * 页面的初始数据 */ data: { }, printText(){ wx.chooseImage({ count: 1, sizeType: ['compressed'], sourceType: ['album', 'camera'], success (res) { // tempFilePath可以作为img标签的src属性显示图片 const tempFilePaths = res.tempFilePaths var filepath=encodeURI(tempFilePaths[0]) //把文件转换成文件流的形式 let buffer = wx.getFileSystemManager().readFileSync(filepath) console.log(filepath) wx.cloud.callFunction({ //调用云函数 upload name:'upload', data:{ //第一种上传到服务器方式 //imgUrl: encodeURI("https://www.toutiao.com/123.jpg") //第二种:文件流的方式 file:buffer }, complete:console.log }) } }) }, //更多内容不列举了})
ミニ プログラムには ocr.printedText の画像認識モードが 2 つあり、1 つは比較的単純な URL モードです。ファイルをアップロードするためのローカル モードもあります。ファイル ストリームを転送する必要があり、その後ファイル ストリームが Base64 に変換されます。
ミニプログラムクラウド機能部
アップロードクラウド機能部分に相当します。
// 云函数入口函数exports.main = async (event, context) => { try { //第一种模式,获取服务器地址 if (event.imgUrl) { var result = await cloud.openapi.ocr.printedText({ type: 'photo', imgUrl: event.imgUrl }) //第二种模式,选择文件模式 } else { var result = await cloud.openapi.ocr.printedText({ type: 'photo', img: { contentType: 'image/png', value: new Buffer(event.file, 'base64') } }) } return result } catch (err) { return err }}
完全な構造は次のとおりです。
私たちが認識する画像は次のとおりです。
最終的に認識されるテキスト コンテンツは次のとおりです。
もちろん、ID カードの OCR 認識、銀行カードの OCR 認識、運転免許証の OCR 認識など、その他の小さなプログラムの認識については、自分で修正でき、比較的簡単です。ご質問がございましたら、メッセージを残してください。良いと思います。Mi Shen をフォローすることを忘れないでください。今後さらにエキサイティングなコンテンツが共有される予定です。