Star33.1k!推荐一个基于网页的OCR(光学字符识别)引擎库

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 想要在前端解决图像识别的兄弟,可以到 Github 上下载Tesseract.js库,安装和相关学习文档都能下载到,实在获取不到的兄弟找V哥发给你,假期第二天,出去放松的同时也可以看看 V 哥的文章,祝大家玩得开心。

大家好,我是 V 哥。

本来今天想偷个懒,因为放假了,带家人去爬山,好久没有运动了,累够呛,打开电脑,看到粉丝的问题,正好之前研究过这个问题,好吧,灵感来了,就以这个话题给兄弟们整理点资料,以备之需。

Tesseract.js 是一个基于网页的 OCR(光学字符识别)引擎,可以识别图像中的文本并将其转换为可供计算机处理的文本数据。在之前的一个项目 V 哥正好用过这个东东,今天一看,已被 Star 33.1k 了,也是一个牛逼的开源项目库。

有兄弟是不是会疑惑,V 哥你不是搞后端的么?谁说搞后端的就不能研究前端呢,不仅是前端,测试、运维、其它开发语言,只要在这行时间长了,工作需要都要搞一搞,语言只是工具,实现用户需求才是关键,只不过以后端为主而已,好了进入主题。

先来一个简单的示例,感受一下如何使用 Tesseract.js 从图片中提取文字:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>OCR Demo</title>
<script src="https://cdn.jsdelivr.net/npm/tesseract.js@2.3.0/dist/tesseract.min.js"></script>
</head>
<body>
<input type="file" id="fileInput" accept="image/*">
<div id="output"></div>
<script>
document.getElementById('fileInput').addEventListener('change', function(event) {
    const file = event.target.files[0];
    const reader = new FileReader();
    reader.onload = function(event) {
        const imgData = event.target.result;
        Tesseract.recognize(
            imgData,
            'eng', // 识别语言(英文)
            { logger: m => console.log(m) } // 可选的日志函数,用于查看处理进度
        ).then(({ data: { text } }) => {
            document.getElementById('output').innerText = text;
        });
    };
    reader.readAsDataURL(file);
});
</script>
</body>
</html>

这个代码创建了一个简单的页面,其中包含一个文件输入字段,用户可以选择要上传的图片文件。一旦选择了文件,它将被读取并传递给 Tesseract.js 进行 OCR 处理,然后提取的文本将显示在页面上。

Tesseract.js 是一个基于网页的 OCR(光学字符识别)引擎,适用于各种需要从图像中提取文本的应用场景,它具有以下核心功能:

  1. 文本识别Tesseract.js 可以从图像中识别出文本,并将其转换为可供计算机处理的文本数据。
  2. 多语言支持:它支持多种语言的文本识别,包括但不限于英语、中文、日语、法语、德语等。
  3. 精度调优:可以通过设置参数来调整识别精度和速度,以适应不同需求下的应用场景。
  4. 网页集成:作为一个 JavaScript 库,Tesseract.js 可以直接在网页中使用,无需额外的服务器端支持。
  5. 异步处理Tesseract.js 使用异步处理,可以在后台进行图像处理和文本识别,不会阻塞用户界面。
  6. GPU 加速:一些版本的 Tesseract.js 支持利用 GPU 进行加速,以提高处理速度。
  7. 自定义识别模型:可以根据需要使用训练数据自定义识别模型,以提高特定文本类型或特定语言的识别准确率。
  8. 日志输出:提供日志输出功能,可以用于跟踪处理进度、识别结果等信息。

1、文本识别

以下是一个简单的代码示例,演示如何使用 Tesseract.js 进行文本识别:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Text Recognition Demo</title>
<script src="https://cdn.jsdelivr.net/npm/tesseract.js@2.3.0/dist/tesseract.min.js"></script>
</head>
<body>
<input type="file" id="fileInput" accept="image/*">
<div id="output"></div>
<script>
document.getElementById('fileInput').addEventListener('change', function(event) {
    const file = event.target.files[0];
    const reader = new FileReader();
    
    reader.onload = function(event) {
        const imgData = event.target.result;
        
        Tesseract.recognize(
            imgData,
            'eng', // 识别语言(英文)
            { logger: m => console.log(m) } // 可选的日志函数,用于查看处理进度
        ).then(({ data: { text } }) => {
            document.getElementById('output').innerText = text;
        });
    };
    
    reader.readAsDataURL(file);
});
</script>
</body>
</html>

这段代码创建了一个简单的页面,其中包含一个文件输入字段,用户可以选择要上传的图片文件。一旦选择了文件,它将被读取并传递给 Tesseract.js 进行 OCR 处理,然后提取的文本将显示在页面上。

逻辑与原理解释如下:

  • 用户选择图片文件并上传至网页。这一步通过HTML的<input type="file">元素实现。
  • JavaScript监听文件输入字段的变化事件。一旦用户选择了文件,会触发事件处理函数。
  • 在事件处理函数中,使用FileReader对象读取用户选择的图片文件。这里使用readAsDataURL()方法将图片文件读取为Data URL格式。
  • 一旦图片文件被读取为Data URL,就可以将其作为参数传递给Tesseract.js的recognize()方法。在这个例子中,我们指定了要识别的语言为英文('eng')。
  • recognize()方法返回一个Promise对象,当文本识别完成时,Promise会被解析,并返回识别结果。
  • Promise的解析回调函数中,我们将识别结果中的文本提取出来,并将其显示在页面上。在这个例子中,我们将文本内容插入到页面中具有IDoutput的元素中。

这个示例代码演示了如何通过Tesseract.js实现文本识别功能,并将识别结果显示在网页上。

2、多语言支持

以下是一个简单的代码示例,演示如何在 Tesseract.js 中实现多语言文本识别:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Multilingual Text Recognition Demo</title>
<script src="https://cdn.jsdelivr.net/npm/tesseract.js@2.3.0/dist/tesseract.min.js"></script>
</head>
<body>
<input type="file" id="fileInput" accept="image/*">
<select id="languageSelect">
  <option value="eng">English</option>
  <option value="fra">French</option>
  <option value="deu">German</option>
  <!-- Add more options for other languages -->
</select>
<div id="output"></div>
<script>
document.getElementById('fileInput').addEventListener('change', function(event) {
    const file = event.target.files[0];
    const reader = new FileReader();
    
    reader.onload = function(event) {
        const imgData = event.target.result;
        const selectedLanguage = document.getElementById('languageSelect').value;
        
        Tesseract.recognize(
            imgData,
            selectedLanguage, // 根据用户选择的语言进行文本识别
            { logger: m => console.log(m) } // 可选的日志函数,用于查看处理进度
        ).then(({ data: { text } }) => {
            document.getElementById('output').innerText = text;
        });
    };
    
    reader.readAsDataURL(file);
});
</script>
</body>
</html>

逻辑与原理解释如下:

  • 用户选择要上传的图片文件,并选择要识别的语言。这个示例使用了一个<select>元素,允许用户从预定义的语言列表中选择要识别的语言。
  • JavaScript监听文件输入字段和语言选择字段的变化事件。一旦用户选择了文件并选择了语言,会触发事件处理函数。
  • 在事件处理函数中,使用FileReader对象读取用户选择的图片文件,并将其转换为 Data URL 格式。
  • 获取用户选择的语言,这里通过<select>元素的值来确定用户选择的语言。
  • 将图片数据和选择的语言作为参数传递给 Tesseract.jsrecognize()方法。
  • recognize()方法返回一个Promise对象,当文本识别完成时,Promise会被解析,并返回识别结果。
  • Promise的解析回调函数中,将识别结果中的文本提取出来,并将其显示在页面上。

通过这个示例,用户可以选择不同的语言进行文本识别,并且可以根据需要扩展更多语言选项。

3、精度调优

Tesseract.js 中调整识别精度的主要方式是通过配置参数来实现。以下是一个示例代码,演示如何通过设置不同的配置参数来调整识别精度:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Text Recognition Accuracy Demo</title>
<script src="https://cdn.jsdelivr.net/npm/tesseract.js@2.3.0/dist/tesseract.min.js"></script>
</head>
<body>
<input type="file" id="fileInput" accept="image/*">
<button id="highAccuracyButton">High Accuracy</button>
<button id="fastRecognitionButton">Fast Recognition</button>
<div id="output"></div>
<script>
document.getElementById('fileInput').addEventListener('change', function(event) {
    const file = event.target.files[0];
    const reader = new FileReader();
    
    reader.onload = function(event) {
        const imgData = event.target.result;
        
        recognizeText(imgData);
    };
    
    reader.readAsDataURL(file);
});
document.getElementById('highAccuracyButton').addEventListener('click', function() {
    Tesseract.setParameters({
        tessedit_ocr_engine_mode: 'OEM_TESSERACT_ONLY', // 使用 Tesseract 引擎
        tessedit_pageseg_mode: 'PSM_SINGLE_BLOCK', // 单个文本块模式
        tessedit_char_whitelist: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', // 识别的字符白名单
        tessedit_zero_rejection: true // 允许零置信度的识别结果
    });
    // 重新识别文本
    recognizeText();
});
document.getElementById('fastRecognitionButton').addEventListener('click', function() {
    Tesseract.setParameters({
        tessedit_ocr_engine_mode: 'OEM_LSTM_ONLY', // 使用 LSTM 引擎
        tessedit_pageseg_mode: 'PSM_AUTO' // 自动分页模式
    });
    // 重新识别文本
    recognizeText();
});
function recognizeText(imgData) {
    Tesseract.recognize(
        imgData,
        'eng', // 识别语言(英文)
        { logger: m => console.log(m) } // 可选的日志函数,用于查看处理进度
    ).then(({ data: { text } }) => {
        document.getElementById('output').innerText = text;
    });
}
</script>
</body>
</html>

逻辑与原理解释如下:

  • 用户选择要上传的图片文件。一旦选择了文件,会触发文件输入字段的变化事件,并读取图片文件的数据。
  • 通过点击“High Accuracy”或“Fast Recognition”按钮,用户可以选择不同的识别精度。根据按钮的点击事件,会调用不同的配置参数。
  • 在点击“High Accuracy”按钮时,设置了一些参数来提高识别的精度。例如,使用 Tesseract 引擎、单个文本块模式、自定义字符白名单等。
  • 在点击“Fast Recognition”按钮时,设置了一些参数来加快识别速度。例如,使用 LSTM 引擎、自动分页模式等。
  • 调用recognizeText()函数来进行文本识别,该函数会根据所设置的参数来识别图片中的文本。

通过这个示例,用户可以根据需求选择不同的识别精度,从而实现更灵活的文本识别。

4、网页集成

以下是一个简单的代码示例,演示如何在网页中集成 Tesseract.js 进行文本识别:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Web Integration with Tesseract.js</title>
<script src="https://cdn.jsdelivr.net/npm/tesseract.js@2.3.0/dist/tesseract.min.js"></script>
</head>
<body>
<input type="file" id="fileInput" accept="image/*">
<div id="output"></div>
<script>
document.getElementById('fileInput').addEventListener('change', function(event) {
    const file = event.target.files[0];
    const reader = new FileReader();
    
    reader.onload = function(event) {
        const imgData = event.target.result;
        
        Tesseract.recognize(
            imgData,
            'eng', // 识别语言(英文)
            { logger: m => console.log(m) } // 可选的日志函数,用于查看处理进度
        ).then(({ data: { text } }) => {
            document.getElementById('output').innerText = text;
        });
    };
    
    reader.readAsDataURL(file);
});
</script>
</body>
</html>

逻辑与原理解释如下:

  • 用户在网页中选择要上传的图片文件。这一步通过HTML的<input type="file">元素实现。
  • JavaScript监听文件输入字段的变化事件。一旦用户选择了文件,会触发事件处理函数。
  • 在事件处理函数中,使用FileReader对象读取用户选择的图片文件,并将其转换为 Data URL 格式。
  • 将图片数据和选择的语言作为参数传递给 Tesseract.jsrecognize()方法。在这个例子中,我们指定了要识别的语言为英文('eng')。
  • recognize()方法返回一个Promise对象,当文本识别完成时,Promise会被解析,并返回识别结果。
  • Promise的解析回调函数中,我们将识别结果中的文本提取出来,并将其显示在页面上。在这个例子中,我们将文本内容插入到页面中具有IDoutput的元素中。

通过这个示例,用户可以在网页中直接使用Tesseract.js进行文本识别,无需额外的服务器端支持。

5、异步处理

以下是一个简单的代码示例,演示如何使用 Tesseract.js 进行异步处理,以便在后台进行图像处理和文本识别,而不会阻塞用户界面:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Asynchronous Text Recognition Demo</title>
<script src="https://cdn.jsdelivr.net/npm/tesseract.js@2.3.0/dist/tesseract.min.js"></script>
</head>
<body>
<input type="file" id="fileInput" accept="image/*">
<div id="output">Processing...</div>
<script>
document.getElementById('fileInput').addEventListener('change', function(event) {
    const file = event.target.files[0];
    const reader = new FileReader();
    
    reader.onload = function(event) {
        const imgData = event.target.result;
        
        // 在异步任务中执行文本识别
        recognizeText(imgData);
    };
    
    reader.readAsDataURL(file);
});
function recognizeText(imgData) {
    // 使用 Promise 来包装异步操作
    new Promise((resolve, reject) => {
        // 在异步任务中执行文本识别
        Tesseract.recognize(
            imgData,
            'eng', // 识别语言(英文)
            { logger: m => console.log(m) } // 可选的日志函数,用于查看处理进度
        ).then(({ data: { text } }) => {
            // 将识别结果传递给 Promise 的解析函数
            resolve(text);
        }).catch(error => {
            // 如果发生错误,将错误信息传递给 Promise 的拒绝函数
            reject(error);
        });
    }).then(text => {
        // 异步任务完成后,更新页面上的文本内容
        document.getElementById('output').innerText = text;
    }).catch(error => {
        // 处理错误情况,例如输出错误信息到控制台
        console.error('Error:', error);
    });
}
</script>
</body>
</html>

逻辑与原理解释如下:

  • 用户在网页中选择要上传的图片文件。这一步通过HTML的<input type="file">元素实现。
  • JavaScript监听文件输入字段的变化事件。一旦用户选择了文件,会触发事件处理函数。
  • 在事件处理函数中,使用FileReader对象读取用户选择的图片文件,并将其转换为 Data URL 格式。
  • 在异步任务recognizeText()中执行文本识别。通过将文本识别操作包装在Promise对象中,使其成为一个异步任务。这样可以确保文本识别操作在后台进行,不会阻塞用户界面。
  • 当异步任务完成时(即文本识别操作完成时),将识别结果更新到页面上。这通过Promise对象的解析函数实现。

通过这个示例,用户可以在网页中执行文本识别操作,而不会影响到用户界面的响应性能。

6、GPU 加速

Tesseract.js 中,GPU 加速是通过在浏览器环境中使用 WebGL 技术来实现的。以下是一个简单的代码示例,演示如何在 Tesseract.js 中启用 GPU 加速:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>GPU Acceleration Text Recognition Demo</title>
<script src="https://cdn.jsdelivr.net/npm/tesseract.js@2.3.0/dist/tesseract.min.js"></script>
</head>
<body>
<input type="file" id="fileInput" accept="image/*">
<div id="output">Processing...</div>
<script>
document.getElementById('fileInput').addEventListener('change', function(event) {
    const file = event.target.files[0];
    const reader = new FileReader();
    
    reader.onload = function(event) {
        const imgData = event.target.result;
        
        // 在异步任务中执行文本识别
        recognizeText(imgData);
    };
    
    reader.readAsDataURL(file);
});
function recognizeText(imgData) {
    // 启用 GPU 加速
    Tesseract.setOcrStrategy(Tesseract.OcrStrategy.AUTO);
    
    // 使用 Promise 来包装异步操作
    new Promise((resolve, reject) => {
        // 在异步任务中执行文本识别
        Tesseract.recognize(
            imgData,
            'eng', // 识别语言(英文)
            { logger: m => console.log(m) } // 可选的日志函数,用于查看处理进度
        ).then(({ data: { text } }) => {
            // 将识别结果传递给 Promise 的解析函数
            resolve(text);
        }).catch(error => {
            // 如果发生错误,将错误信息传递给 Promise 的拒绝函数
            reject(error);
        });
    }).then(text => {
        // 异步任务完成后,更新页面上的文本内容
        document.getElementById('output').innerText = text;
    }).catch(error => {
        // 处理错误情况,例如输出错误信息到控制台
        console.error('Error:', error);
    });
}
</script>
</body>
</html>

逻辑与原理解释如下:

  • 用户在网页中选择要上传的图片文件。这一步通过HTML的<input type="file">元素实现。
  • JavaScript监听文件输入字段的变化事件。一旦用户选择了文件,会触发事件处理函数。
  • 在事件处理函数中,使用FileReader对象读取用户选择的图片文件,并将其转换为 Data URL 格式。
  • 在异步任务recognizeText()中执行文本识别。通过将文本识别操作包装在Promise对象中,使其成为一个异步任务。这样可以确保文本识别操作在后台进行,不会阻塞用户界面。
  • 在调用recognize()方法之前,使用Tesseract.setOcrStrategy()来启用 GPU 加速。这将使 Tesseract.js 尝试使用 GPU 来加速文本识别过程。

通过这个示例,用户可以在网页中启用 GPU 加速以加快文本识别速度,从而提升用户体验。

7、自定义识别模型

Tesseract.js支持自定义识别模型,这使得用户可以根据自己的需求训练模型,以提高特定类型文本或特定语言的识别准确率。以下是一个简单的示例代码,演示如何使用自定义识别模型:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Custom Model Text Recognition Demo</title>
<script src="https://cdn.jsdelivr.net/npm/tesseract.js@2.3.0/dist/tesseract.min.js"></script>
</head>
<body>
<input type="file" id="fileInput" accept="image/*">
<div id="output">Processing...</div>
<script>
document.getElementById('fileInput').addEventListener('change', function(event) {
    const file = event.target.files[0];
    const reader = new FileReader();
    
    reader.onload = function(event) {
        const imgData = event.target.result;
        
        // 在异步任务中执行文本识别
        recognizeText(imgData);
    };
    
    reader.readAsDataURL(file);
});
function recognizeText(imgData) {
    // 设置自定义识别模型路径
    const customModelPath = 'path/to/your/custom/model.traineddata';
    
    // 使用 Promise 来包装异步操作
    new Promise((resolve, reject) => {
        // 在异步任务中执行文本识别
        Tesseract.recognize(
            imgData,
            {
                lang: 'custom', // 使用自定义语言标识符
                tessedit_char_whitelist: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', // 识别的字符白名单
                tessedit_zero_rejection: true // 允许零置信度的识别结果
            }
        ).then(({ data: { text } }) => {
            // 将识别结果传递给 Promise 的解析函数
            resolve(text);
        }).catch(error => {
            // 如果发生错误,将错误信息传递给 Promise 的拒绝函数
            reject(error);
        });
    }).then(text => {
        // 异步任务完成后,更新页面上的文本内容
        document.getElementById('output').innerText = text;
    }).catch(error => {
        // 处理错误情况,例如输出错误信息到控制台
        console.error('Error:', error);
    });
}
</script>
</body>
</html>

逻辑与原理解释如下:

  • 用户在网页中选择要上传的图片文件。这一步通过HTML的<input type="file">元素实现。
  • JavaScript监听文件输入字段的变化事件。一旦用户选择了文件,会触发事件处理函数。
  • 在事件处理函数中,使用FileReader对象读取用户选择的图片文件,并将其转换为 Data URL 格式。
  • 在异步任务recognizeText()中执行文本识别。通过将文本识别操作包装在Promise对象中,使其成为一个异步任务。这样可以确保文本识别操作在后台进行,不会阻塞用户界面。
  • 在调用recognize()方法之前,通过设置lang参数为自定义语言标识符,指定使用自定义的识别模型。同时,可以根据需要设置其他参数,如识别的字符白名单、允许零置信度的识别结果等。

通过这个示例,用户可以在网页中使用自定义的识别模型进行文本识别,从而提高特定类型文本或特定语言的识别准确率。

8、日志输出

以下是一个简单的代码示例,演示如何在 Tesseract.js 中使用日志输出功能:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Text Recognition with Logging Demo</title>
<script src="https://cdn.jsdelivr.net/npm/tesseract.js@2.3.0/dist/tesseract.min.js"></script>
</head>
<body>
<input type="file" id="fileInput" accept="image/*">
<div id="output">Processing...</div>
<script>
document.getElementById('fileInput').addEventListener('change', function(event) {
    const file = event.target.files[0];
    const reader = new FileReader();
    
    reader.onload = function(event) {
        const imgData = event.target.result;
        
        // 在异步任务中执行文本识别,并记录日志
        recognizeText(imgData);
    };
    
    reader.readAsDataURL(file);
});
function recognizeText(imgData) {
    // 使用 Promise 来包装异步操作
    new Promise((resolve, reject) => {
        // 在异步任务中执行文本识别,并记录日志
        Tesseract.recognize(
            imgData,
            'eng', // 识别语言(英文)
            { 
                logger: m => console.log(m) // 日志输出函数,用于查看处理进度
            }
        ).then(({ data: { text } }) => {
            // 将识别结果传递给 Promise 的解析函数
            resolve(text);
        }).catch(error => {
            // 如果发生错误,将错误信息传递给 Promise 的拒绝函数
            reject(error);
        });
    }).then(text => {
        // 异步任务完成后,更新页面上的文本内容
        document.getElementById('output').innerText = text;
    }).catch(error => {
        // 处理错误情况,例如输出错误信息到控制台
        console.error('Error:', error);
    });
}
</script>
</body>
</html>

逻辑与原理解释如下:

  • 用户在网页中选择要上传的图片文件。这一步通过HTML的<input type="file">元素实现。
  • JavaScript监听文件输入字段的变化事件。一旦用户选择了文件,会触发事件处理函数。
  • 在事件处理函数中,使用FileReader对象读取用户选择的图片文件,并将其转换为 Data URL 格式。
  • 在异步任务recognizeText()中执行文本识别,并通过设置logger参数来启用日志输出功能。这样可以在控制台中查看处理进度和其他相关信息。
  • 在文本识别完成后,将识别结果更新到页面上。如果发生错误,也会在控制台中输出错误信息。

通过这个示例,用户可以在网页中使用 Tesseract.js 进行文本识别,并通过日志输出功能查看处理进度和调试信息。

最后

想要在前端解决图像识别的兄弟,可以到 Github 上下载Tesseract.js库,安装和相关学习文档都能下载到,实在获取不到的兄弟找V哥发给你,假期第二天,出去放松的同时也可以看看 V 哥的文章,祝大家玩得开心。

相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
3月前
|
机器学习/深度学习 人工智能 文字识别
轻松识别文字,这款Python OCR库支持超过80种语言
轻松识别文字,这款Python OCR库支持超过80种语言
|
6月前
|
文字识别 数据可视化 PyTorch
OCR-字符识别笔记
OCR-字符识别笔记
|
6月前
|
机器学习/深度学习 文字识别 算法
[Halcon&识别] OCR字符识别
[Halcon&识别] OCR字符识别
227 1
|
机器学习/深度学习 文字识别 算法
文本识别 (OCR)引擎之Tesseract的使用
esseract是一个开源文本识别 (OCR)引擎,用于识别图片中的文字并将其转换为可编辑的文本。
1548 0
|
人工智能 文字识别 API
OCR(Optical Character Recognition,光学字符识别)
OCR(Optical Character Recognition,光学字符识别)是一种将图像中的文字转换成可编辑文本的技术。OCR 技术可以应用于各种场景,例如自动化办公、图像文本识别、车牌识别、身份证识别、发票识别等。
223 1
|
机器学习/深度学习 人工智能 文字识别
深度学习应用篇-计算机视觉-OCR光学字符识别[7]:OCR综述、常用CRNN识别方法、DBNet、CTPN检测方法等、评估指标、应用场景
深度学习应用篇-计算机视觉-OCR光学字符识别[7]:OCR综述、常用CRNN识别方法、DBNet、CTPN检测方法等、评估指标、应用场景
深度学习应用篇-计算机视觉-OCR光学字符识别[7]:OCR综述、常用CRNN识别方法、DBNet、CTPN检测方法等、评估指标、应用场景
|
机器学习/深度学习 文字识别 算法
【OCR学习笔记】6、OCR传统字符识别实践
【OCR学习笔记】6、OCR传统字符识别实践
130 0
|
机器学习/深度学习 文字识别
OCR+CNN完成铭牌字符识别【MATLAB】
OCR+CNN完成铭牌字符识别【MATLAB】
600 0
OCR+CNN完成铭牌字符识别【MATLAB】
|
机器学习/深度学习 文字识别 算法
DL之CNN:利用CNN(keras, CTC loss, {image_ocr})算法实现OCR光学字符识别
DL之CNN:利用CNN(keras, CTC loss, {image_ocr})算法实现OCR光学字符识别
|
4月前
|
人工智能 文字识别 开发工具
印刷文字识别使用问题之是否支持识别并返回文字在图片中的位置信息
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。