Считать данные с изображения и обрезать определенную часть изображения в node js - PullRequest
3 голосов
/ 18 февраля 2020

Мой клиент требует, чтобы пользователь загружал изображение, используя это изображение, я должен прочитать данные и обрезать некоторую часть изображения. Я могу получить считанные данные из изображения, используя tesseract. js модуль узла. Часть обрезки также сделана, она работает только с некоторыми изображениями, не работает для всех изображений. ниже код для получения данных формы изображения.

const Tesseract = require("tesseract.js");

Tesseract.recognize("./pancard.jpg", "eng", {
  logger: m => console.log(m)
}).then(({ data: { text } }) => {
  console.log(text);
});

Для обрезки изображения я использую модуль острый узел. код ниже в основном изменить размер изображения после изменения размера изображения его конкретных данных.

const sharp = require("sharp");
sharp("./pancard.jpg")
  .resize(500, 300, {
    fit: sharp.fit.fill
  })
  .toFile("./pancard_new.jpg", (err, info) => {
    sharp("./pancard_new.jpg")
      .extract({ left: 35, top: 220, width: 180, height: 28 })
      .toFile("./pancard_new2.jpg", function(err) {});
  });

Над кодом, работающим нормально для изображения ниже, я могу получить подпись именно этого изображения. image

, но тот же код не работает для изображения ниже. Other image

В основном я хочу обрезать подпись на этих изображениях. Если у кого-то есть идея, с чего начать, с чего начать выполнение вышеуказанной задачи, пожалуйста, помогите мне.

Примечание *: Изображения взяты из Google.

Ответы [ 2 ]

1 голос
/ 26 февраля 2020

Все сводится к изображению, с резкостью вы можете предоставить окно просмотра для обрезки изображения, но если предоставленное изображение повернуто, ваш код не будет работать и для первого изображения. Я думаю, что вам нужна какая-то библиотека на основе ml для вашего случая использования, например opencv, или установите окно просмотра достаточно большим, чтобы захватить сигнатуру.

0 голосов
/ 03 марта 2020

Если панель для подписи на индийском правительственном удостоверении всегда находится в одном и том же месте, не будет ли проще просто всегда обрезать одну и ту же панель просмотра? Вместо того, чтобы пытаться обнаружить окно просмотра. Это был бы мой MVP, если он должен быть динамическим c позже, тогда это должна быть какая-то библиотека компьютерного зрения, способная отличить подпись от остальной части идентификатора.

...