Skip to content

Screenshot recognition, information extraction to find obsolete artifacts.

Notifications You must be signed in to change notification settings

SecNotice/WhatIsDeprecated

Repository files navigation

WhatIsDeprecated

Screenshot recognition, information extraction to find obsolete artifacts.

Проверка скриншотов на наличие дат.

Скрипт ScrTimeCheck.py находит и выводит на экран все найденные даты ранее указанной при запуске. Также все изображения, содержащие "некорректные" даты, копируются в подкаталог с именем вида "found_before_{год}_{месяц}_{день}" в каталоге с материалами сканирования. Даты распознаются со всех скриншотов (и других изображений), которые содержатся в обрабатываемом файле формата docx. Поддерживаются простые маски файлов ("*"), поэтому множественная обработка файлов тоже возможна.

Для работы скрипту необходим установленный в системе пакет Tesseract-OCR (согласно его инструкции по установке, правильной установкой считается такая, когда вызов утилиты tesseract возможен без указания полного пути к ней).

Зависимости

Для работы скрипту необходим установленный в системе интерпретатор Python версии 3.8 или выше.

Tesseract:

Windows: https://github.com/UB-Mannheim/tesseract/wiki

В ходе инсталляции нужно выбрать языки, для которых будут установлены тренировочные данные (как минимум - Russian, Englis): image

Рекомендуется также устанавливать Tesseract в варианте "Для всех пользователей". В этом случае скрипт сам позаботится о том, чтобы указать правильный путь к исполняемому файлу:

pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'

Linux:

sudo apt install tesseract-ocr tesseract-ocr-rus -y

На Astra Linux Orel (2.12.43) для корректной работы утилиты pip для установки Python-модулей необходимо установить curl, а затем pip3:

sudo apt install curl

curl -sS https://bootstrap.pypa.io/pip/3.5/get-pip.py | sudo python3

ln /usr/local/bin/pip3 /usr/bin/pip3

Установка

  1. Установить git.

  2. Установить Python 3 версии >= 3.8.

  3. Установить Tesseract-OCR.

  4. Клонировать этот репозиторий.

  5. Установить пакеты из requirements.txt:

python -m pip install -r ./requirements.txt --no-cache-dir

или на Windows

py -3 -m pip install -r requirements.txt --no-cache-dir

Использование

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

Чтобы не получать ошибок об отсутствующем файле python или python3 и не указывать полный путь к интерпретатору Python, убедитесь, что путь к нему указан в системной переменной PATH.

`python3 ./ScrTimeCheck.py -c ./report.docx  "2021-01-10"`
`python3 ./ScrTimeCheck.py -c topdir/**/*.doc*  "2021-01-10"`

Под Windows используйте команду py -3:

`py -3 ./ScrTimeCheck.py -c ./report.docx  "2021-01-10"`
`py -3 ./ScrTimeCheck.py -c topdir/**/*.doc*  "2021-01-10"`

По результатам работы в текущем каталоге будет создан каталог (каталоги, если обрабатываемых файлов несколько) с именем обрабатываемого файла и указанной даты (например report.docx_2021-01-10).

Если каталог с таким именем уже существует, будет создан новый каталог с таким же именем, но к которому будет добавлен суффикс типа "(1)", "(2)" и т.д. Это может быть полезно, если в разных обрабатываемых подкаталогах обнаружатся одноимённые файлы.

Скрипт в ходе работы выводит на экран:

  • имена обрабатываемых файлов docx;

  • имя каталога с изображениями с "неправильными" датами;

  • количество найденных в docx-файлах изображений;

  • прогресс-бары для длительных операций;

  • найденные "неправильные" даты и названия файлов, их содержащих.

image

Пожелания по доработке скрипта или по дополнительной функциональности можно присылать по адресу industrialSAST@ya.ru или r.yudichev@fobos-nt.ru.

About

Screenshot recognition, information extraction to find obsolete artifacts.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published