ollama-ocr:高精度图像文字识别工具
项目介绍
ollama-ocr 是一款基于 Ollama 支持的视觉模型(如 Llama 3.2-Vision 或 MiniCPM-V 2.6)的 OCR 工具。它能够准确识别图像中的文本,同时保留原始的格式。这种工具对于需要从图像中提取文本信息的开发者来说,无疑是一个强大的助手。
项目技术分析
ollama-ocr 的核心技术是基于深度学习的视觉模型。以下是该项目的一些技术细节:
- 模型支持:使用 Llama 3.2-Vision 或 MiniCPM-V 2.6 模型,这些模型在图像识别领域有着卓越的性能。
- 格式保留:在识别文本的同时,ollama-ocr 能够保留原始文本的格式和结构,这对于需要保留文档原始风貌的应用场景尤为重要。
- 多格式支持:ollama-ocr 支持多种图像格式,包括 JPG、JPEG 和 PNG,使得用户可以灵活处理不同来源的图像文件。
- 自定义能力:用户可以根据需要自定义识别提示和模型,这提供了更高的灵活性和定制化能力。
项目及技术应用场景
ollama-ocr 的应用场景非常广泛,以下是一些典型的应用案例:
- 文档数字化:在数字化图书馆、档案馆或企业文档管理系统中,可以将扫描的纸质文档通过 ollama-ocr 转换为可编辑的电子文本。
- 信息提取:在金融、医疗等行业中,经常需要从大量的图像文件中提取关键信息,如发票、处方等,ollama-ocr 可以大大提高这一过程的效率和准确性。
- 图像分析:在图像处理和分析领域,ollama-ocr 可以用来识别图像中的文字信息,为图像内容分析提供辅助。
项目特点
ollama-ocr 具有以下显著特点:
- 高准确性:基于先进的视觉模型,ollama-ocr 能够提供高准确度的文本识别。
- 格式保留:在识别过程中,ollama-ocr 能够完整地保留原始文本的格式和结构。
- 强大的错误处理:ollama-ocr 提供了全面的错误处理机制,能够应对各种异常情况,如文件不存在、不支持的文件格式、Ollama 服务器连接失败等。
安装与使用
安装:
npm install ollama-ocr
或者使用 pnpm:
pnpm add ollama-ocr
基本使用:
import { ollamaOCR, DEFAULT_OCR_SYSTEM_PROMPT } from "ollama-ocr";
async function runOCR() {
const text = await ollamaOCR({
filePath: "./test/images/handwriting.jpg",
systemPrompt: DEFAULT_OCR_SYSTEM_PROMPT,
});
console.log(text);
}
Markdown 输出:
import { ollamaOCR, DEFAULT_MARKDOWN_SYSTEM_PROMPT } from "ollama-ocr";
async function runOCR() {
const text = await ollamaOCR({
filePath: "./test/images/trader-joes-receipt.jpg",
systemPrompt: DEFAULT_MARKDOWN_SYSTEM_PROMPT,
});
console.log(text);
}
使用 MiniCPM-V 2.6 视觉模型:
async function runOCR() {
const text = await ollamaOCR({
model: "minicpm-v",
filePath: "./handwriting.jpg.jpg",
systemPrompt: DEFAULT_OCR_SYSTEM_PROMPT,
});
console.log(text);
}
错误处理:
import { ollamaOCR, LlamaOCRError, ErrorCode } from "ollama-ocr";
async function runOCR() {
try {
const text = await ollamaOCR({
filePath: "./test/images/handwriting.jpg",
});
console.log(text);
} catch (error) {
if (error instanceof LlamaOCRError) {
switch (error.code) {
case ErrorCode.FILE_NOT_FOUND:
console.error("Image file not found");
break;
case ErrorCode.UNSUPPORTED_FILE_TYPE:
console.error("Unsupported image format");
break;
case ErrorCode.OLLAMA_SERVER_ERROR:
console.error("Ollama server connection failed");
break;
case ErrorCode.OCR_PROCESSING_ERROR:
console.error("OCR processing failed");
break;
}
}
}
}
ollama-ocr 是一款功能强大、易于使用的图像文本识别工具,适用于各种文本提取需求。无论是个人开发者还是企业用户,都可以通过 ollama-ocr 提高工作效率,节省宝贵时间。立即尝试 ollama-ocr,开启您的图像文本识别之旅吧!