Здравствуйте, гость ( Вход | Регистрация )

> Распознование чисел
GodoXo
сообщение 9.12.2016, 1:06
Сообщение #1


*

Registred
Сообщений: 2
Регистрация: 9.12.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.230
Возраст: 28



Добрый день,

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

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

Если коротко, мне нужно распознать 3 числа, и на основании простейших математических манипуляций следать какое либо действие.

В общем прошу помощи в решении проблемы, заранее благодарен.


Эскизы прикрепленных изображений
Прикрепленное изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
cirus
сообщение 9.12.2016, 1:52
Сообщение #2


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26758
Пользователь №: 16.971
Возраст: 29



Скрипт давно писал, но должен работать.
код
Код
set linedelay 0
log mode compact
init_arr %image 0 1 2 3 4 5 6 7 8 9    // имена картинок (0.bmp, 1.bmp и т.д.)
init_arr %bukva 0 1 2 3 4 5 6 7 8 9    // цифра
set $path "C:\image\"                  // путь к картинкам


// всё что ниже лучше не менять, кроме координат в findimage
set #z 0
set #a 0
set $aa
set size(%b)

// поиск картинок
for #i 1 size(%image)
   set #a findimage(0 0 706 543 ($path%image [#i].bmp) %a 2 70 -1 5)
   if #a > 0
      for #k 1 size(%a)
         set #z #z + 1
         init_arr %b (#z) %a[#k 1] %a[#k 2] %bukva[#i]
      end_for
   end_if
end_for

// сортировка картинок
for #k 1 eval(size (%b) - 1)
   set #d 0
   for #i 1 eval(size (%b) - 1)
      set #a #i + 1
      if %b[#i 1] > %b[#a 1]
         set #c %b[#i 1]
         set %b[#i 1] %b [#a 1]
         set %b[#a 1] #c
         set $c1 %b[#i 3]
         set %b[#i 3] %b[#a 3]
         set %b[#a 3] $c1
         set #d 1
      end_if
   end_for
   if #d = 0
      break
   end_if
end_for

// вывод строки в лог
for #j 1 size (%b)
   set $aa $aa%b[#j 3]
end_for
log $aa
End_script

Единственное, придётся искать числа отдельно, т. е. 1045 это один поиск, 806 второй и 135 третий, т. к. сортируются цифры только по координате X.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения



Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 8.7.2025, 1:49
Designed by Nickostyle