Как заполнить форму, которая на canvas?

Nekro

Client
Регистрация
01.08.2020
Сообщения
129
Благодарностей
9
Баллы
18
Здравствуйте.

Есть необычная форма на canvas. Нужно ввести 4 цифры. При клике по 1 цифре - номера остальных рандомно меняются. Как её можно заполнить правильными числами? Даже не знаю с чего начать. Числа, которые нужно ввести, известны. Вот скриншоты:
85925

85926
 

Phoenix78

Client
Регистрация
06.11.2018
Сообщения
7 417
Благодарностей
3 411
Баллы
113
отправляешь каждую цифру на кап или в сервис или подрубаешь тессеракт и разпознаешь цифири. цифры ровные, будет стабильно разпознавать.
можно даже просто их в хэш перевести и искать через свою базу хэшей.
 
  • Спасибо
Реакции: sergodjan66 и Nekro

Nekro

Client
Регистрация
01.08.2020
Сообщения
129
Благодарностей
9
Баллы
18
отправляешь каждую цифру на кап или в сервис или подрубаешь тессеракт и разпознаешь цифири. цифры ровные, будет стабильно разпознавать.
можно даже просто их в хэш перевести и искать через свою базу хэшей.
Тессеракт вроде нашёл. Попробую. Забыл написать, что критически важно, чтобы всё это дело проходило как можно быстрее.

А насчёт базы хэшей. Как её сделать в данном случае? Там наверное миллион вариантов будет картинок. Ещё таким не занимался, представляю себе это так:
1) Беру картинку
2) Преобразовываю в хэш и помечаю координаты для цифр, которые будут нажиматься.
3) Сравниваю хэш картинки.
4) Если хэш совпадает, то беру координаты цифр у этого хэша и жму по ним.
5) Повтор для каждой цифры.

Или можно тупо отобрать хэши картинок, где по одной первой цифре (1, 2, 3, 4, 5, 6, 7, 8, 9, 0) будет и потом прожимать так?
 

Phoenix78

Client
Регистрация
06.11.2018
Сообщения
7 417
Благодарностей
3 411
Баллы
113
хэши для каждой картинки-цифры. всего 10 цифр, значит всего 10 хэшей. каждую цифру с браузера перегонять в хеш и прогонять цикл по списку известных хешей. думаю это должно быть очень быстро.
 
  • Спасибо
Реакции: Nekro

Nekro

Client
Регистрация
01.08.2020
Сообщения
129
Благодарностей
9
Баллы
18
хэши для каждой картинки-цифры. всего 10 цифр, значит всего 10 хэшей. каждую цифру с браузера перегонять в хеш и прогонять цикл по списку известных хешей. думаю это должно быть очень быстро.
Благодарю. Принцип понял. Только там 1 целая картинка со всеми цифрами, а не по одной картинке на каждое число. Поэтому я в затруднении. Если я возьму всего 10 хэшей, то не факт, что найду в таком случае совпадения. Потому что нужно будет собирать огромную базу из разных вариантов, чтобы верно идентифицировать картинку с первым числом. Там же нельзя по кусочку хэша определить первую цифру насколько я понял.

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

+там где поля для отображения введённых чисел - проставляются звёздочки *
 
Последнее редактирование:

nicanil

Moderator
Команда форума
Регистрация
06.03.2016
Сообщения
1 918
Благодарностей
1 484
Баллы
113
Лучше всего вырезать каждую цифру, вычислить хэш для неё, составить таблицу из 10 пар хэш:число.
Затем в рабочем проекте снова вырезаете каждую цифру, получаете хэш и ищите совпадение по таблице.
Для получения наибольшей скорости без C# будет трудно обойтись.

Пример составления такой базы можно найти тут - https://zennolab.com/discussion/posts/80620/
 
  • Спасибо
Реакции: Nekro и sergodjan66

Nekro

Client
Регистрация
01.08.2020
Сообщения
129
Благодарностей
9
Баллы
18
Лучше всего вырезать каждую цифру, вычислить хэш для неё, составить таблицу из 10 пар хэш:число.
Затем в рабочем проекте снова вырезаете каждую цифру, получаете хэш и ищите совпадение по таблице.
Для получения наибольшей скорости без C# будет трудно обойтись.

Пример составления такой базы можно найти тут - https://zennolab.com/discussion/posts/80620/
Как раз начал так делать. Я ещё не дошёл до конца, но есть пара вопросов:
1) Если будет сдвиг хотя бы на 1 пиксель у размера какой либо цифры - хэш будет другим?
2) Будет ли одинаковый хэш, например, у одной и той же цифры в первой строке и во второй, при условии, что размер одинаковый (пиксель в пиксель), но другая позиция?

В зависимости от этого мне придётся делать либо всего 10 хэшей, по 1 для каждой цифры, либо 100 хэшей, по 10 цифр для каждой позиции.

Почему то не могу заменить/удалить исходную картинку после преобразования. Пишет, что занята project maker'ом, даже если закрыть проект. Помогает только полное выключение project maker. Затрудняет тестирование...
 

nicanil

Moderator
Команда форума
Регистрация
06.03.2016
Сообщения
1 918
Благодарностей
1 484
Баллы
113
1) Если будет сдвиг хотя бы на 1 пиксель у размера какой либо цифры - хэш будет другим?
Да.

2) Будет ли одинаковый хэш, например, у одной и той же цифры в первой строке и во второй, при условии, что размер одинаковый (пиксель в пиксель), но другая позиция?
Да.

Почему то не могу заменить/удалить исходную картинку после преобразования. Пишет, что занята project maker'ом, даже если закрыть проект. Помогает только полное выключение project maker. Затрудняет тестирование...
Работайте с изображением внутри блока using, как показано вот тут.
 
  • Спасибо
Реакции: Nekro

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)