使用Node.js实现OCR识别:一个实用的示例项目解析
// 引入必要的模块
const express = require('express');
const multer = require('multer');
const Tesseract = require('tesseract.js');
// 设置存储配置
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/')
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now())
}
})
// 创建 multer 实例,使用配置
const upload = multer({ storage: storage })
// 创建 express 应用
const app = express();
// 设置静态文件目录
app.use(express.static('public'));
// 设置 POST 路由处理上传的图片并进行 OCR 识别
app.post('/upload', upload.single('image'), (req, res) => {
const image = req.file.path;
Tesseract.recognize(
image,
'eng',
{ logger: m => console.log(m) })
.then(({ data: { text } }) => {
console.log(text);
res.send(text);
})
.catch(error => {
console.error(error);
res.status(500).send('Error: ' + error);
});
})
// 监听 3000 端口
app.listen(3000, () => {
console.log('Server running on port 3000');
})
这段代码实现了一个简单的 Node.js 服务器,它使用 Express 框架处理 HTTP 请求,Multer 处理文件上传,并且 Tesseract.js 进行 OCR 识别。服务器监听 3000 端口,并接受发送到 /upload
路由的图片文件,然后使用 Tesseract.js 对图片中的文字进行识别,最后将识别的文本返回给客户端。
评论已关闭