Imagen/Texto: Mi Shen
El subprograma WeChat proporciona reconocimiento OCR de impresión universal basado en el subprograma. En pocas palabras, el subprograma puede tomar una foto o seleccionar una imagen, y luego el subprograma llama a la interfaz para identificar y devolver el contenido del reconocimiento.
Comparta esto, la demostración oficial de ocr.printedText, el miniprograma principal, es relativamente informal y se mencionan muchos detalles de una sola vez, por lo que es posible que algunos amigos no lo entiendan muy bien. Aquí compartimos principalmente el desarrollo de la nube de subprogramas WeChat y el uso de dos modos de reconocimiento OCR universal para el reconocimiento de imágenes en texto. Este también es un problema que encuentran los colegas en desarrollo, así que lo enumeraré y lo compartiré como demostración.
El mini programa proporciona varios tipos de reconocimiento OCR, como reconocimiento OCR de tarjetas de identificación, reconocimiento OCR de tarjetas bancarias, reconocimiento OCR de licencias de conducir y reconocimiento OCR general de imágenes. Todos pueden hacer inferencias sobre este reconocimiento general.
Vista previa de demostración:
Significa cargar imágenes. Para esto, el teléfono móvil admite tomar fotografías y seleccionarlas del álbum.
Interfaz de carga de mini programas
Botón WXML para seleccionar imágenes.
上传图片 {
{item.text}}
parte 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 }) } }) }, //更多内容不列举了})
Hay dos modos para el reconocimiento de imágenes ocr.printedText en el mini programa: uno es el modo URL, que es relativamente simple. También hay un modo local para cargar archivos. Necesita transferir la secuencia de archivos y luego convertir la secuencia de archivos a base64
Parte de la función de la nube del mini programa
Corresponde a la parte de función de carga en la nube.
// 云函数入口函数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 }}
La estructura completa es la siguiente:
Las imágenes que reconocemos son:
El contenido del texto final reconocido es:
Por supuesto, para el reconocimiento de otros programas pequeños, como el reconocimiento OCR de tarjetas de identificación, el reconocimiento OCR de tarjetas bancarias y el reconocimiento OCR de licencias de conducir, puede modificarlo usted mismo y es relativamente simple. Si tienes alguna pregunta, déjame un mensaje. Creo que es bueno. Recuerda seguir a Mi Shen. Compartiremos más contenido interesante en el futuro.