Я работаю на OCR с моей камерой, я использую для этого пакет tessera c. js. К сожалению, после нескольких тестов, когда я перемещаю лист с камеры, алгоритм OCR не распознает текст на моем листе, и в большинстве тестов результаты действительно плохие, потому что даже когда я перемещаю бумагу ближе к камера, иногда она не захватывает весь текст, и это действительно расстраивает, кто-то знает пакет с лучшими результатами или знает, как улучшить результаты, это действительно помогло бы мне. Еще вот мой код:
Функция распознавания текста:
export async function process(path, language) {
await worker.load();
await worker.loadLanguage(language);
await worker.initialize(language);
await worker.setParameters({
tessedit_pageseg_mode: PSM.AUTO
})
const { data: { text } } = await worker.recognize(path);
console.log(text);
await worker.terminate();
}
Функция съемки:
takePicture() {
this.canvas = document.querySelector('canvas');
this.ctx = this.canvas.getContext('2d');
this.canvas.width = (window.innerWidth < 1280) ? window.innerWidth : 1280;
this.canvas.height = window.innerWidth / this.ratio;
console.log(`window : ${window.innerWidth}, ${window.innerHeight}`)
console.log(`canvas ${this.canvas.width}, ${this.canvas.height}`);
this.ctx.imageSmoothingEnabled = true;
this.ctx.imageSmoothingQuality = 'high';
// this.ctx.setTransform(this.zoomFactor, 0, 0, this.zoomFactor,
// -(this.zoomFactor - 1) * this.canvas.width / 2, -(this.zoomFactor - 1) * this.canvas.height / 2);
// this.ctx.font = "30px Arial";
this.ctx.drawImage(document.querySelector('video'), 0, 0, this.canvas.width, this.canvas.height);
this.imageUrl = this.canvas.toDataURL();
}