Как найти цифры на фотографии

Какой самый быстрый способ распознать цифры на картинке?

Есть зеленые цифры на белом фоне:
bf73f6241acf4f13aefa494c03bee586.png

Цифры не меняют угол наклона, не меняют цвет и т.п.

Очень важна скорость распознавания. Возможно подскажите библиотеки, или вообще код на чистом питоне.


  • Вопрос задан

    более трёх лет назад

  • 5475 просмотров

Пригласить эксперта

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

import os
os.chdir('D:/python27/lib/site-packages/pytesser')
try:
    import Image
except ImportError:
    from PIL import Image
from pytesser import *
im = Image.open('q.gif')
im = im.convert('L') 
text = image_to_string(im)
print text

Смотри модули PIL, Pytesser

самый быстрый конечно не делать распознавание символов, а искать совпадение паттерна из нескольких пикселов цифры. тем более что цифры всегда на одной позиции.

думаю будет достаточно сравнения 8-16 характерных точек у каждой цифры.

СМС рассылка? 🙂
Я автокликер под эту каптчу писал недели две назад. Если нужно обращайтесь скайп sereggam


  • Показать ещё
    Загружается…

23 мая 2023, в 23:46

4000 руб./за проект

23 мая 2023, в 23:15

200 руб./за проект

23 мая 2023, в 22:54

15000 руб./за проект

Минуточку внимания

Метаданные фото – это информация, полезная в обычном случае, но опасная для тех, кто хочет обеспечить себе максимальную анонимность. Так называемые EXIF данные имеются у каждой фотографии, вне зависимости от того, с какого устройства она была сделана. И они могут рассказать не только о параметрах фотоаппарата/смартфона, с которого была сделана фотография, но и многое другое. Дату создания, геолокацию, информацию о собственнике кадра и не только может узнать любой, потратив на это всего несколько минут.

Сегодня мы объясним вам, как посмотреть EXIF данные фотографии и как удалить их в том случае, если вы хотите обеспечить себе приватность.

Как найти информацию по фотографии

Существует множество способов считать информацию по фотографии, вне зависимости от того, кто её владелец и где вы её нашли. Среди этих способов наибольшей популярностью пользуются варианты с браузером, онлайн сервисами и средствами Windows. Мы детально расскажем о каждом из них.

При помощи браузера

Поиск информации по фотографии при помощи браузера, пожалуй, самый простой и доступный способ. Чтобы узнать нужные данные по фото, вы можете использовать:

  • Google Chrome. Требуется установить расширения для браузера Exponator или Exif Viewer. Оба позволяют отобразить скрытую информацию фото и содержат список настроек для получения только необходимой информации.

Как найти информацию по фотографии

  • Internet Explorer. Для этого браузера нужно скачать дополнение IExif, совместимое со всеми последними 32 и 64-битными версиями. После установки расширения достаточно лишь навести курсор на любое отображаемое фото, чтобы получить интересующую вас информацию.

При помощи браузера

  • Mozilla Firefox. Браузер поддерживает удобные расширения Exif Viewer или FxIF для распознавания метаданных фото.

удобные расширения Exif Viewer или FxIF

Узнаём EXIF в онлайн-сервисе

Мы предлагаем ознакомиться с сервисом, который позволяет быстро узнать EXIF фото, не требуя установки дополнительных расширений. Достаточно лишь загрузить фотографию на сервис или указать прямую ссылку на неё, а всё остальное он сделает сам.

  • fotoforensics.com. Обширный набор функций позволит вам не только узнать данные о фотографии, но и точно определить подлинность снимка. Сервис успешно вычисляет фотошоп и коллажи, оповещая об этом пользователя.

Используем средства Windows для определения метаданных фото

Простейший способ для тех, кто не хочет искать продвинутые способы в интернете. Если у вас нет под рукой других инструментов, то просто кликните правой кнопкой мыши по фотографии, выберите «Properties» (свойства) и найдите в открывшемся окне вкладку «Details» (детали). В этой вкладке вы узнаете параметры фотографии, её геолокацию, дату и другие данные.

Как редактировать или удалить скрытые данные EXIF?

Если вы не хотите, чтобы о ваших фото, загруженных в сеть, третье лицо могло получить какую-либо информацию – измените или полностью удалите её. Оба способа требуют минимальных затрат времени, взамен гарантируя максимальную безопасность и анонимность вашего фото в сети.

Удаляем все или некоторые данные фото

Самый простой способ удалить скрытые данные в фотографии – использовать системные инструменты Windows. Давайте пошагово рассмотрим как это сделать:

Откройте свойства фотографии, перейдите во вкладку «подробнее» и вы увидите внизу пункт «удаление свойств и личной информации».

Удаляем все или некоторые данные фото

Клик по нему отправит вас на вкладку, где вы сможете самостоятельно выбрать данные, которые нужно удалить.

Вы сможете самостоятельно выбрать данные, которые нужно удалить.

Если вы не хотите потерять эти данные, можно создать копию фотографии с удаленными EXIF-данными, сохранив при этом оригинал. Для этого нужно выбрать пункт «создать копию, удалив все возможные свойства». Пункт «удалить все свойства для этого файла» безвозвратно удалит все EXIF-данные у оригинала.

Пункт «удалить все свойства для этого файла»

Самостоятельно изменяем EXIF фотографии

Наименее требовательный к профессиональным навыкам способ – использовать онлайн сервисы. Хорошим примером такого сервиса является IMGonline, который позволяет быстро выбрать нужные данные и заменить их необходимыми вам параметрами.

Подводим итоги

Скрытые данные фото – это удобный способ узнать информацию не только для вас, но и для злоумышленников. Сегодня мы рассказали, что представляют из себя эти скрытые данные, как по ним обнаружить геолокацию, дату и другие параметры фото, и как можно обезопасить себя от подобных действий со стороны третьих лиц.

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

Рассказывайте своим друзьям, делитесь ссылкой на статью в соц.сетях и мессенджерах. Обеспечьте безопасность и анонимность ваших данных в сети, начиная с самых элементарных вещей!

python #opencv #computer-vision #ocr #python-tesseract

#python #opencv #компьютерное зрение #ocr #python-тессеракт

Вопрос:

У меня есть эта картинка:

Структура с нарисованным числом

и это моя область интересов:

какое число я хотел бы распознать и «прочитать».

Я не знаю, почему я не могу обнаружить это с помощью pytesseract. Несмотря на то, что я предварительно обрабатываю его и получаю это изображение без шума:

предварительно обработанное и двоичное изображение

Вот конфигурация, которую я использую для ее чтения:

  1. Только числа;
  2. Один символ;
     text = pytesseract.image_to_string(number_5,  lang='eng',config='--psm 10 --oem 3 -c tessedit_char_whitelist=0123456789')
     

И все же я просто получаю nx0c в качестве ответа.

Я хотел бы попросить несколько советов о том, как распознавать изображения с уникальными символами (в данном случае только цифры);

А также вопрос об обнаружении чисел. Существует ли модель, которая может искать числа на фотографии и возвращать ограничительную рамку, в которой они расположены?

Комментарии:

1. Ваши вопросы задают разные вещи. Если вы хотите получить поддержку в отношении вашей pytesseract проблемы, я бы предложил загрузить полный минимальный рабочий пример (включая изображение), который демонстрирует, что происходит сбой. Кроме того, здесь вы найдете коллекцию моделей обнаружения текста. Я бы предположил, что они также работают для последовательностей цифр.

2. Андре, спасибо за ваши комментарии. Я уже просматриваю эту коллекцию моделей обнаружения текста. Что касается полного минимального примера работы, он прямо здесь. Это число 5, например, не может быть прочитано алгоритмом. Когда я пробую это с фотографией, загруженной из Интернета, она работает нормально.

Ответ №1:

Одним из способов обнаружения 5 в изображении было бы маскирование изображения.

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

 msk = cv2.inRange(hsv, np.array([0, 0, 175]), np.array([179, 255, 255]))
 
  • нижняя граница равна np.array([0, 0, 175])
  • верхняя граница равна np.array([179, 255, 255])

Результатом будет:

введите описание изображения здесь

Здесь, выше, мы можем 5 четко видеть число.

Теперь мы можем применить следующие методы обработки.

 krn = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 3))
dlt = cv2.dilate(msk, krn, iterations=1)
thr = 255 - cv2.bitwise_and(dlt, msk)
 

Результатом будет:

введите описание изображения здесь

Теперь, если мы применим tesseract

 d = pytesseract.image_to_string(thr, config="--psm 10")
 

Результатом будет:

 5
 

Код:

 import cv2
import numpy as np
import pytesseract

# Load the img
img = cv2.imread("MjfJF.png")

# Cvt to hsv
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

# Get binary-mask
msk = cv2.inRange(hsv, np.array([0, 0, 175]), np.array([179, 255, 255]))
krn = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 3))
dlt = cv2.dilate(msk, krn, iterations=1)
thr = 255 - cv2.bitwise_and(dlt, msk)

# OCR
d = pytesseract.image_to_string(thr, config="--psm 10")
print(d)
 

Распознать текст на изображении

Добро пожаловать в наш бесплатный онлайн сервис распознавания текста онлайн

У вас есть текст и вы не хотите его переписывать вручную?

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

Наш сервис поддерживает большое количество языков. Как популярные так и достаточно редкие.

Упростите себе жизнь. Сэкономьте большое количество времени используя возможности компьютера и нашего алгоритма.

Ваши данные вне опасности, после обработки результаты удаляются.

Отзывы

😃
😏
чёт не работает нифига
п амиши м мики-км.… пища-‚ дтп-п и
№Шп№пф

об……

сики—шп…“
.…оп …”…

вот что сделал

отлично работает, спасибо большое, перевели немецкие справки без проблем.
спасибо жду результат.
8
Чо не работает
Отвратительный переводчик
Полное г…..

Я делаю скришнот с помощью библиотеки PIL участка экрана:введите сюда описание изображения

Мне нужно определить баланс по скриншоту. Я планировал это делается с помощью библиотеки OpenCV(cv2)
И надо как-то скормить шаблоны по типу этих и двигаться от этого: введите сюда описание изображения

(Решение исключительно из моих предположений)

Если есть более простые решения, то можно их(желательно без ООП и браузер скриптинг не подходит)

задан 12 мая 2020 в 20:11

DIPPEROK's user avatar

Можно воспользоваться модулем pytesseract — обёрткой над Google’s Tesseract-OCR Engine.

Пример:

import cv2
import pytesseract

img = cv2.imread('screen.png')
img = cv2.resize(img, None, fx=9, fy=9)  # Увеличение изображения в 9 раз

# Распознавание, допустимы только цифры
balance = pytesseract.image_to_string(img, config='outputbase digits')
print(balance)

stdout:

9897

screen.png:

Баланс

ответ дан 12 мая 2020 в 21:27

nomnoms12's user avatar

nomnoms12nomnoms12

18.3k5 золотых знаков22 серебряных знака47 бронзовых знаков

2

Добавить комментарий