Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
Depix — это инструмент Python для восстановления комбинаций пароля и цифр из мозаики.
Его официальный эффект таков:
Эффект очень потрясающий, и после восстановления он практически такой же, как исходное изображение. Но так ли это божественно?
01
Как?
первый шаг,Автор использует то же изображение, что и исходное изображение в редакторе.(Картины с мозаикой)Такой жешрифтнастраивать(размер текста,шрифт,Цвет и др. настройки),а потом debruinseq.txt Поместите текст и цифры в редактор и сделайте снимок экрана. Весь текст на этом снимке экрана будет пикселизирован и использован в качестве «набора поиска» для определения истинного содержимого мозаики в исходном изображении:
Второй шаг,Вырежьте квадраты мозаики исходного изображения на отдельные прямоугольники.,Затем эти прямоугольники сравниваются с каждым блоком в «наборе поиска».,Найдите наиболее правильные результаты.
Третий шаг,Выполните геометрическое сравнение набора поиска и окружающих квадратов исходного изображения в соответствующей позиции, чтобы найти кратчайшее расстояние.,Повторите этот процесс несколько раз,Найдите лучшие результаты.
Далее, давайте попробуем этот Depix и посмотрим, действительно ли он так хорош.
02
Установить зависимости
Перед началом вам необходимо убедиться, что Python и pip успешно установлены на вашем компьютере.
Чтобы использовать исходный код проекта, зайдите на GitHub и скачайте: https://github.com/beurtschipper/Depix
Если вы не можете получить доступ к GitHub или скорость вашего интернета слишком низкая,Можно найти вPythonПрактическое руководство, ответ на официальный аккаунт аккаунта:depix скачать (Конечно, это бесполезно, даже если снять эту штуку).
Разархивируйте хорошие файлы и получите Depix-main папка в командной строке cd Входить Depix-main папку, введите команду Установить зависимости:
pip install -r requirements.txt
03
попробуй
Сначала попробуйте пример автора,Запустите следующую команду в основной папке Depix.,В качестве целевого объекта для идентификации используйте авторскую кодовую картинку:
images/testimages/testimage3_pixels.png
Используйте изображения, сгенерированные автором, в качестве «набора для поиска»:
images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png
Выполните следующую команду, чтобы начать идентификацию:
python depix.py -p images/testimages/testimage3_pixels.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o output.png
После завершения распознавания он будет сгенерирован в текущей папке. output.png:
Эффект неплохой, но это картинка предоставленная автором. А если это наша собственная картинка?
Например, если я наберу этот текст в редакторе, а затем закодирую его, распознает ли он его:
Кодирование:
Сначала используйте авторский «поисковый набор» для расшифровки:
python depix.py -p G:\push\20210114\test.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o output.png
Полученное изображение в основном такое же, как и закодированное изображение.,В принципе никакого эффекта。
Я думал, что это проблема «набора поиска», например, разные шрифты, которые мешают успешному распознаванию.
Поэтому я последовал примеру автора и создал «набор поиска»:
Затем используйте этот набор поиска для идентификации:
python depix.py -p G:\push\20210114\test.png -s G:\push\20210114\train1.png -o output.png
Распознавание по-прежнему не увенчалось успехом, и результат по-прежнему похож на исходное изображение, практически без недостающих мозаик.
Позже я попробовал несколько раз, но не смог его распознать.
04
Почему моя мозаика не распознается?
Мне захотелось узнать, почему это так, и я использовал свой собственный инструмент для создания мозаики, чтобы сравнить его с мозаикой автора:
я нашел,При использовании моего мозаичного изображения для распознавания,Все еще не имеет эффекта。Но определите авторский мозаичный образ,Эффект очень хороший.
В настоящее время у меня есть основания полагать, что в этом алгоритме произошло «переобучение». Автор кодирует каждый блок «поискового набора». Этот стиль кодирования имеет определенные особенности, если мозаика распознаваемого объекта не совпадает с этим. стиле, распознавание, скорее всего, не удастся.
Следовательно, мозаика идентифицированного объекта должна соответствовать стилю кодирования «поискового набора», чтобы его можно было точно идентифицировать. Если заменить мозаику, сгенерированную другими алгоритмами, модель автора может потерпеть неудачу, как в примерах, которые я только что опробовал.
Несмотря на это, с развитием технологий подобные декодеры обязательно будут становиться все более мощными в будущем, поэтому рекомендуется делать мозаику немного толще, а лучше всего заливать все изображение, чтобы уничтожить оригинал. image, чтобы вам не пришлось этого делать. Если вы беспокоитесь о таких вещах, как восстановление пароля, следующий метод является самым безопасным.
Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/149673.html Исходная ссылка: https://javaforall.cn