Comments 5
бесплатные конечные точки
какие интересные точки!
хабр уже не тот
И причем здесь TypeScript? Кликбейт одним словом...

распознаёт англоязычный текст на изображениях. Если отправить фотографию с русскоязычным текстом, то ответ всё равно будет на английском.
Если разработчики пытались спрятать возможность распознавания кириллицы (зачем?), то не очень удалось.
На Node.js можно легко сделать с использованием библиотеки "tesseract.js" для распознавания изображений в текст с сохранением в текстовый файл.
Создаём папку "TesseractOCR" и в ней четыре файла:
Первый файл "index.js" и сохраняем в нём:
const Tesseract = require('tesseract.js');
const fs = require('fs');
const path = require('path');
// Путь к папке с изображениями
const imagesDir = path.join(__dirname, 'img');
const outputDir = path.join(__dirname, 'output'); // Папка для сохранения текстов
// Создание папки с изображениями, если она не существует
if (!fs.existsSync(imagesDir)){
fs.mkdirSync(imagesDir);
}
// Создание папки для сохранения текстов, если она не существует
if (!fs.existsSync(outputDir)){
fs.mkdirSync(outputDir);
}
// Чтение всех файлов в папке
fs.readdir(imagesDir, async (err, files) => {
if (err) {
console.error('Ошибка при чтении папки:', err);
return;
}
// Фильтрация только изображений (например, .png и .jpg)
const imageFiles = files.filter(file => {
return file.endsWith('.png') || file.endsWith('.jpg') || file.endsWith('.jpeg');
});
// Обработка каждого изображения
const promises = imageFiles.map(file => {
const filePath = path.join(imagesDir, file);
console.log(`Обработка файла: ${filePath}`);
return Tesseract.recognize(
filePath,
'rus+eng', // Указываем русский и английский языки
{
//logger: info => console.log(info) // Логирование прогресса
}
).then(({ data: { text } }) => {
console.log(`Распознанный текст из ${file}: \n\n`);
console.log(text);
// Сохранение распознанного текста в файл
const outputFilePath = path.join(outputDir, `${path.parse(file).name}.txt`);
fs.writeFileSync(outputFilePath, text);
console.log(`Текст сохранен в ${outputFilePath}`);
}).catch(err => {
console.error(`Ошибка при обработке файла ${file}:`, err);
});
});
// Ожидание завершения всех промисов
try {
await Promise.all(promises);
console.log('Обработка всех изображений завершена.');
} catch (error) {
console.error('Ошибка при обработке изображений:', error);
}
});
Второй файл "install.bat" и сохраняем в нём:
npm i
Третий файл "package.json" и сохраняем в нём:
{
"name": "tesseractocr",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"dependencies": {
"tesseract.js": "^5.1.1"
}
}
Четвёртый файл "start.bat" и сохраняем в нём:
node index.js
Для установки зависимостей запускаем install.bat
Запускаем start.bat (После первого запуска создаются папки: img и output)
В папку "img" закидываем файлы для распознавания текста
.png
,.jpg
или.jpeg
.Запускаем start.bat
В папке "output" будут созданы текстовые файлы.
Это просто обёртка API, а само размазывание где-то в облаке?
Вышла TypeScript-библиотека для распознавания изображений с помощью нейросети Llama Vision