Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3 4 5 6      [все]
 Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
Собственно есть игральный стол - на нем карты,можно ли как то без использования сторонних библиотек идентифицировать эти карты

Работать необходимо через BufferedImage
Моя мысль такая - вырезать место с картами,потом вырезать сами карты и по контрольным точкам сравнивать карты с шаблонами.
Собтсвенно 4 шаблона под масти( 5-10 контрольных точек)
ну и под наименование карт там тоже контрольные точки,правда работы многовао выйдет

либо же мне просто взять 36 карт с картинок - вырезать их и потом сравнивать уже с тем что будет в качестве агрументов входить?

Есть кто работал с BuferedImage есть там что то что позволит можнет вообще елемент искать на картинке( типо значка масти например)

К сообщению приложен файл. Размер - 86Kb
24 окт 20, 18:20    [22220111]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mayton
Member

Откуда: loopback
Сообщений: 49768
Если владелец приложения слегка изменит интерфейс то все твои разработки сразу станут металоломом.

Вообще для угадывания образов используют библиотеки типа https://opencv.org/
Java для этого не особо подходит. В крайнем случае даже если и есть подобная
библиотека то она будет просто адаптером для opencv или им подобных.

P.S. А цель какая? Решил поднять баблишка на китайцах?
24 окт 20, 18:44    [22220123]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mayton
Если владелец приложения слегка изменит интерфейс то все твои разработки сразу станут металоломом.

Вообще для угадывания образов используют библиотеки типа https://opencv.org/
Java для этого не особо подходит. В крайнем случае даже если и есть подобная
библиотека то она будет просто адаптером для opencv или им подобных.

P.S. А цель какая? Решил поднять баблишка на китайцах?

делаю человеку тест задание)
на опен цв бы я давно сделал- тут цель именно без сторонних библиотек

собственно тут только один сценарий - вырзеать все карты и далее запихать их в мапу ну и потом просто циклом пройтись по пикселям
других вариков нет.Можно конечно по контрольным точкам,но это геморой,так как точки придется вручную заносить ,да еще и мучаться с пикселями)
Правда и с вырезанием карт проблема- так как карты имеют неравнозначное обрамление серым оттенком- придется как то придумать как их лучше обрезать,чтобы остался только белый фон
24 окт 20, 19:16    [22220136]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79
собственно тут только один сценарий - вырзеать все карты и далее запихать их в мапу ну и потом просто циклом пройтись по пикселям
других вариков нет.Можно конечно по контрольным точкам,но это геморой,так как точки придется вручную заносить ,да еще и мучаться с пикселями)
Правда и с вырезанием карт проблема- так как карты имеют неравнозначное обрамление серым оттенком- придется как то придумать как их лучше обрезать,чтобы остался только белый фон

просто циклом пройтись по пикселям - контрольная сумма/хэш, чтобы не ходить каждый раз по пикселям эталонных карт.

вырезай прямоугольниками, углы (треугольники фиксированного размера) закрась в белый.
24 окт 20, 19:49    [22220146]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mayton
Member

Откуда: loopback
Сообщений: 49768
По всем ходить не надо. Наложи сетку с шагом 2/4 пиксела. Это даст ускорение к распознаванию
порядка 16 раз (для 4 пикс к примеру). Ведь чтобы узнать что масть бубновая или червовая тебе не
надо видеть все пикселы. А только красный цвет. И несколько ключевых точек.

+Задай уровень толерантности цвета. В зависимости от глубины цвета Android экрана (16/25 bps)
или от разрешения точные цвета будут "плавать". Поэтому бери не точные цвет а хотя - бы попадание
в 90% от тройки RGB.

Кроме того само устройство может гасить яркость (night mode) и сильно искажать абсолютные значения
цветов хотя с точки зрения человека - ничего не изменилось.

Сообщение было отредактировано: 24 окт 20, 19:57
24 окт 20, 20:01    [22220153]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode
Zzz79
собственно тут только один сценарий - вырзеать все карты и далее запихать их в мапу ну и потом просто циклом пройтись по пикселям
других вариков нет.Можно конечно по контрольным точкам,но это геморой,так как точки придется вручную заносить ,да еще и мучаться с пикселями)
Правда и с вырезанием карт проблема- так как карты имеют неравнозначное обрамление серым оттенком- придется как то придумать как их лучше обрезать,чтобы остался только белый фон

просто циклом пройтись по пикселям - контрольная сумма/хэш, чтобы не ходить каждый раз по пикселям эталонных карт.

вырезай прямоугольниками, углы (треугольники фиксированного размера) закрась в белый.

не очень понял про вырезать треугольниками и закрашивать в белый
24 окт 20, 20:22    [22220159]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mayton
По всем ходить не надо. Наложи сетку с шагом 2/4 пиксела. Это даст ускорение к распознаванию
порядка 16 раз (для 4 пикс к примеру). Ведь чтобы узнать что масть бубновая или червовая тебе не
надо видеть все пикселы. А только красный цвет. И несколько ключевых точек.

+Задай уровень толерантности цвета. В зависимости от глубины цвета Android экрана (16/25 bps)
или от разрешения точные цвета будут "плавать". Поэтому бери не точные цвет а хотя - бы попадание
в 90% от тройки RGB.

Кроме того само устройство может гасить яркость (night mode) и сильно искажать абсолютные значения
цветов хотя с точки зрения человека - ничего не изменилось.

цвета на картах идентичны - они ж с базы тягают эти изображения наверняка-взял щас с двух разных картинок одинаковые карты- они идентичны- проблема как обрезать,так как если карта идет первая она одного размера по ширине,если вторая то другого и третья третьего размера ) соотвественно тут придется голову поломать немного иначе одинаковые карты после обрезания будут по пикселям не биться
24 окт 20, 20:53    [22220164]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
Да майтон ты прав,там еще и цвета разные оттенки имеют- по пикселям сравнивать бессмыслено похоже
так еще и одна и таже карта в зависимости от положения на столе не соотвествует такой же карте в другом положении.вот же пипец то
Задача решается в 100 строк кода)
24 окт 20, 21:03    [22220172]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
одна и таже карта взятая с разных положений ( 1я и 3я позиции)

К сообщению приложен файл. Размер - 1Kb
24 окт 20, 21:06    [22220175]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007


К сообщению приложен файл. Размер - 1Kb
24 окт 20, 21:06    [22220176]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mayton
Member

Откуда: loopback
Сообщений: 49768
Welcome. Положи потом сорс на гитхаб. Чтоб все посмотрели.
24 окт 20, 21:06    [22220178]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79
не очень понял про вырезать треугольниками и закрашивать в белый

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

То что они разного размера в зависимости от положения на столе это плохо, внутренние элементы тоже меняют размер?
24 окт 20, 21:14    [22220181]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mayton
Welcome. Положи потом сорс на гитхаб. Чтоб все посмотрели.

я сомневаюсь,что я осилю это
24 окт 20, 21:15    [22220182]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode
Zzz79
не очень понял про вырезать треугольниками и закрашивать в белый

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

То что они разного размера в зависимости от положения на столе это плохо, внутренние элементы тоже меняют размер?

элементы внутри одинаковы,но имеют разный отенок по краям ,и смещение по оси на пиксель взависиомти от положения карты в ряду
тоесть по пикселям сравнивать не получится -нужно понять как обрезать карты так ,чтобы независимо от положения они стали бы одинаковы и потом наверно придется уже по точкам контрольным бить- так как оттетнки всегда разные ,даже у двух одинаковых карт
то только брать контрольную точку- и смотреть белая или нет)по другому никак скорей всего
24 окт 20, 21:19    [22220184]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
вот такая печаль одинаковые карты с разных положений на столе

К сообщению приложен файл. Размер - 101Kb
24 окт 20, 21:22    [22220188]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79,

mayton уже писал, брать нужно не совсем одинаковые цвета а совпадающие более чем на % (процент подбором), то что не попадут какие то пиксели ничего страшного.

Далее можно приблизительно вырезать масть и старшинство отдельно, разбить на сектора и посчитать количество условно черных и красных пикселей по каждому сектору и сравнивать уже подобия секторов, если при посекторном сравнении подобие эталону на 80-90 процентов, то карты считаются одинаковыми.
24 окт 20, 21:25    [22220189]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79,

Можно вырезать масть и старшинство, но вместо разбивания на сектора, построить гистограммы красного и черного, по вертикали и по горизонтали, подобие гистограмм в принципе должно дать неплохой результат.
24 окт 20, 21:33    [22220193]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mayton
Member

Откуда: loopback
Сообщений: 49768
Да. И это еще не все кейсы. Я думаю что это приложение слишком
вольно распоряжается стилями раскладки карт. И в будущем
если завязываться на пиксельной точности - никакого распознавания
не выйдет.

Нужно преобразовать эту картинку в формат, толерантный к сдвигу
(translate), или к другим простым воздействиям.

Как вариант это может быть Фурье или Хаф. Но дальше я могу говорить
только теоретически т.к. я это на самом деле не делал. Изучал в универе.
Цифровую обработку сигналов по крайней мере изучал и СРО.

Вобщем бросай это дело. Не знаю на какой уровень эта задача расчитана
но фриласнер который возьмется это делать - должен знать системы
распознающие образы. Иначе - тухляк.
24 окт 20, 21:35    [22220194]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
mayton,

Наверное это тестовое задание на позицию миддла в проект по разработке систем распознавания образов))
24 окт 20, 21:41    [22220196]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode
Zzz79,

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

ААА ты меня натолкнул на гениальную мысль)
карты меняются в ширину ,но в длинну нет- я просто возьму верхню часть карты - и посчитаю количество небелых символов -это будет ключ на старшинстов,аналогично отрезаю низ где масть и делаю тоже самое)тогда мне не нужны никакие цвета и оттенки с погрешностью)
Щас испоробую,главое что высота масти и старшниства всегда одинакова
24 окт 20, 21:49    [22220200]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mayton
Да. И это еще не все кейсы. Я думаю что это приложение слишком
вольно распоряжается стилями раскладки карт. И в будущем
если завязываться на пиксельной точности - никакого распознавания
не выйдет.

Нужно преобразовать эту картинку в формат, толерантный к сдвигу
(translate), или к другим простым воздействиям.

Как вариант это может быть Фурье или Хаф. Но дальше я могу говорить
только теоретически т.к. я это на самом деле не делал. Изучал в универе.
Цифровую обработку сигналов по крайней мере изучал и СРО.

Вобщем бросай это дело. Не знаю на какой уровень эта задача расчитана
но фриласнер который возьмется это делать - должен знать системы
распознающие образы. Иначе - тухляк.

да не тут задача с подвохом - по сути я понял что надо делать - разделить карту на две части и высчитать количество небелых пикселей
а далее уже сравнивать отдельно по старшинству и по масти .Как мне заказчик сказал - там должно быть не больше 160 строчек кода
24 окт 20, 21:52    [22220203]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
x1ca4064
Member

Откуда:
Сообщений: 1210
Zzz79
вот такая печаль одинаковые карты с разных положений на столе


А просто считать эвклидово (или иное) расстояние между картинкой и образцом не подходит?
24 окт 20, 22:03    [22220206]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mayton
Member

Откуда: loopback
Сообщений: 49768
Я вброшу в топик маленький намек.
А вы уж дальше сами развивайте.

Если закодировать черно-белую картинку японским кроссвордом - то такая картинка будет тоже толерантна к translate по вертикали или по горизонтали.

Вернее не сама картинка а ее числовое японское кодирование.
24 окт 20, 22:16    [22220210]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
x1ca4064
Zzz79
вот такая печаль одинаковые карты с разных положений на столе


А просто считать эвклидово (или иное) расстояние между картинкой и образцом не подходит?

а что это?собственно как выше заметил рисунок на картинке гуляет,пиксели имеют разный оттенок-сомневаюсь что можо адекватно там что то посчитать

пс.у двух шестерок разница по пикселям 268 и 272 ,но тут я думаю можно будет сделать 3% расхожедение =true
главное чтобы другие старшины не били в это же количество символом иначе будет провал)
24 окт 20, 22:28    [22220214]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
x1ca4064
Member

Откуда:
Сообщений: 1210
Zzz79
x1ca4064
пропущено...


А просто считать эвклидово (или иное) расстояние между картинкой и образцом не подходит?

а что это?собственно как выше заметил рисунок на картинке гуляет,пиксели имеют разный оттенок-сомневаюсь что можо адекватно там что то посчитать



Если картинки одного размера, по всем точкам [x,y] и всем образцам Pat[k] вычислить сумму:

sqr(Pix[x,y].Red-Pat[k][x,y].Red)+sqr(Pix[x,y].Green-Pat[k][x,y].Green)+sqr(Pix[x,y].Blue-Pat[k][x,y].Blue)

Pix- картинка, которую нужно классифицировать.

образец Pat[k], у которого эта сумма минимальна - хороший кандидат. Если из этой суммы извлечь квадратный корень - будет эвклидово расстояние.

Вместо sqr можно использовать abs или max
24 окт 20, 23:04    [22220223]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79,

69))
24 окт 20, 23:18    [22220232]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
x1ca4064
Zzz79
пропущено...

а что это?собственно как выше заметил рисунок на картинке гуляет,пиксели имеют разный оттенок-сомневаюсь что можо адекватно там что то посчитать



Если картинки одного размера, по всем точкам [x,y] и всем образцам Pat[k] вычислить сумму:

sqr(Pix[x,y].Red-Pat[k][x,y].Red)+sqr(Pix[x,y].Green-Pat[k][x,y].Green)+sqr(Pix[x,y].Blue-Pat[k][x,y].Blue)

Pix- картинка, которую нужно классифицировать.

образец Pat[k], у которого эта сумма минимальна - хороший кандидат. Если из этой суммы извлечь квадратный корень - будет эвклидово расстояние.

Вместо sqr можно использовать abs или max

картинки одинакового размера -но разные по оттенкам и по нахождению элементов в самой картинке - этот вариант не подойдет к сожалению

Вот я почекал все крашеные пиксели для трех картинок ,проверял только на масть - так вот пики дало 774-780-783
вообщем самый оптимальный вариант разрезать карту на две части и посчитать количество пикселей в обоих частях,далее сравнить значения с эталоном + разнос 10% и выдать название карты+ масти.
Других вариантов не вижу
24 окт 20, 23:19    [22220235]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
x1ca4064
Member

Откуда:
Сообщений: 1210
Zzz79

Других вариантов не вижу


Если покажете по несколько образцов карт - можно сделать классификатор - т.к. визульно они почти не отличаются, значит классификатор, даже такой простой, как я привел, может хорошо работать, если нет - можно в суммы включить весовые коэффициенты как параметры обучения.
24 окт 20, 23:24    [22220236]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
x1ca4064
Zzz79

Других вариантов не вижу


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

а чем не устраивает подсчет пикселей?
770 пики
730 черви и тд
тут я привел пример двух разных 6 пики
сами элементы смещены внутри на 1 пиксель
ну и сами пиксели имеют разные оттенки по краям
так же там есть раскладки карт ,у которых есть 5 пикселей -желтая рамка- соотвествено я буду ее срезать и все карты будут различного размера- тут подойет только сумма не белых пикселей- все остальное не влезет в рамки 160 строк кода
25 окт 20, 00:05    [22220243]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode
Zzz79,

69))

блин вот это уже хуже)
но я думаю там все равно будет разница по пикселям
25 окт 20, 00:06    [22220244]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
x1ca4064
Member

Откуда:
Сообщений: 1210
Zzz79

а чем не устраивает подсчет пикселей?
770 пики
730 черви и тд

Всем устраивает - это же Ваша задача :)

IMHO, данную задачу лучше решать через сопоставление с образцами, а не поиском инвариантов
все остальное не влезет в рамки 160 строк кода


Странное ограничение
25 окт 20, 06:32    [22220274]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79
блин вот это уже хуже)
но я думаю там все равно будет разница по пикселям

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

PS: хотя те кто давал задание скорее ожидают что то более серьезное в алгоритмическом плане и знание алгоритмов поиска эталонного фрагмента на изображении.
25 окт 20, 12:20    [22220330]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3778
graycode
PS: хотя те кто давал задание скорее ожидают что то более серьезное в алгоритмическом плане и знание алгоритмов поиска эталонного фрагмента на изображении.


Скорее всего это задание на ML, потому как если думать что задача алгоритмическая, то студни по ней курсовые пишут, что какбы на намекает, что это не в одно рыло на пару дней, можно по ссылкам походить почитать что пишут (мы от студней в алгоритмическом плане недалеко ушли):
- https://digital.liby.waikato.ac.nz/conferences/ivcnz07/papers/ivcnz07-paper51.pdf
- https://web.fe.up.pt/~niadr/PUBLICATIONS/LIACC_publications_2011_12/pdf/C62_Poker_Vision_Playing_PM_LPR_LFT.pdf

а так Стас может реализовать, еще прикрутить готовые формулы подсчета эквити и рубить бабки в онлайн-казино

Сообщение было отредактировано: 25 окт 20, 13:06
25 окт 20, 13:01    [22220348]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mayton
Member

Откуда: loopback
Сообщений: 49768
Никто еще не мог похвастаться систематическим наё6... обманом владельцев этого азартного бизнеса.

Ну разве что те кто его-же продвигает. Поэтому я-бы поискал другие способы заработка.
25 окт 20, 13:07    [22220349]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Андрей Панфилов
Скорее всего это задание на ML, потому как если думать что задача алгоритмическая, то студни по ней курсовые пишут, что какбы на намекает, что это не в одно рыло на пару дней

Сравнение полутоновых изображений, презентация
В принципе на пару дней, но для человека который этим занимается и уже имеет какие то наработки, т.е. не с нуля.
25 окт 20, 13:40    [22220356]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
x1ca4064
Zzz79

а чем не устраивает подсчет пикселей?
770 пики
730 черви и тд

Всем устраивает - это же Ваша задача :)

IMHO, данную задачу лучше решать через сопоставление с образцами, а не поиском инвариантов
все остальное не влезет в рамки 160 строк кода


Странное ограничение

был бы образец вопросов бы не было- но образца то нет- все карты немнного разные в плане расположения деталей на карте и в плане оттенков цвета.Тут единственный вариант подстчет всего,что не белое

160 строк ограничение на задание- написано что среднестатистическое решение -100 строк кода
25 окт 20, 16:30    [22220395]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
Ну и если сравнивать со всеми вариантами я не пройду по времени- одна картинка должна парситься не больше 1 секунды-тоесть тут только хешпама с готовыми значениями( я думаю их будет 54 по количеству карт)
проблема собрать все эти данные в мапу,так как по сути в полуручном режиме нужно загружать картинки и смотреть какая карта -сколько пикселей
25 окт 20, 17:53    [22220411]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
Вообщем короче по мере анализа картинок понимаю что отдельно считать пиксели для старшинства и масти нет смысла - иногда рядом значения лежат,считать целиком пиксели тоже смысла нет.Пока вижу только такой идентификатор как пара ( верх/низ)
причем у каждой карты их может быть 3-4 разных значения.Но слава богу они хотя бы уникальны)
тоесть придется попотеть чтобы составить хеш мапу значений ,причем в ручном режиме-так как картинки не подписаны и каждое значение нужно будет руками заносить- вот это конечно печаль) хотя не так и много около 200 пар всего по сути ,на каждую карту по 2-3 пары.ПЛюс задания в том,что допускается 3% брака)
25 окт 20, 18:23    [22220419]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
все таки походу те кто дал задание ждут чего то другого- по пикселям идентифицировать похоже не очень реально,так как например
дама пик находящаяся на 2 и на 3 месте имеют 338/783 и 337/779 а например 8 буби 286/664 и 280/653
разнос какой то дикий - чую будут бится в дубликаты

пс.задание конечно жесть,но чувак идет на 2500 зелени,хз как он там будет если пройдет))
25 окт 20, 19:01    [22220424]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Отклонение или даже лучше среднеквадратичное отклонение по построчной гистограмме скорее всего даст приемлемый результат. Проверять верх и низ лучше отдельно, для низа четыре эталонных гистограммы, для верха по количеству старшинств карт, в секунду должно укладываться вообще легко.

Zzz79
пс.задание конечно жесть,но чувак идет на 2500 зелени,хз как он там будет если пройдет))

Чувак не пройдет, потому что явно предполагается хорошее знание алгоритмов распознавания изображений и поиска схожих элементов.
25 окт 20, 19:38    [22220433]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode
Отклонение или даже лучше среднеквадратичное отклонение по построчной гистограмме скорее всего даст приемлемый результат. Проверять верх и низ лучше отдельно, для низа четыре эталонных гистограммы, для верха по количеству старшинств карт, в секунду должно укладываться вообще легко.

Zzz79
пс.задание конечно жесть,но чувак идет на 2500 зелени,хз как он там будет если пройдет))

Чувак не пройдет, потому что явно предполагается хорошее знание алгоритмов распознавания изображений и поиска схожих элементов.

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

по сути это ручной машинг лЁнинг
25 окт 20, 19:55    [22220435]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mayton
Member

Откуда: loopback
Сообщений: 49768
Это по определению не machine learning.

Чтоб тот появился - надо чтоб был в наличии класс алгоритмов нечеткой логики.
Чтоб были фазы обучения и контроля. И вообще ML не программируется на if-else
логике.
25 окт 20, 19:58    [22220436]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
andreykaT
Member

Откуда: Finland
Сообщений: 3233
какой то хренью зизи занимаешься опенсиви и тензорфлоу либы под джаву есть тебе остается найти модельку под распознавание карт и всё. это 90% тоже уже готовое есть. будет выглядить так - в метод отправил байтаррай а метод тебе вернул мапу с названием карты и координатой на картинке (или картаМИ и координатаМИ) .
там даже думать негде. надо уметь в мавене депенденси прописать.

а ты хрень делаеь.

Сообщение было отредактировано: 25 окт 20, 19:56
25 окт 20, 19:59    [22220437]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79,

Думаю что от соискателя ожидают увидеть серьезную алгоритмическую и математическую подготовку и даже если твой код будет удовлетворять условиям задачи, он не подойдет по своему содержанию.
25 окт 20, 20:00    [22220438]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mayton
Member

Откуда: loopback
Сообщений: 49768
В этой задаче есть два пути.

1) Хардкод пикселей (это то что сделает любой джун). Это можно сделать и это будет работать
но это решение выбросят в мусорное ведро. Оно не интересно. Хотя оно может быть забавно
и занятно если вы делаете это впервые.

2) Машинное зрение. Будет ли это OpenCV или любая другая библиотека - не важно. Важно
что соискатель продемонстрирует эту возможность. А дальше это приложение может заменить
игральные карты на фотографии людей и оно ... вуаля с сохранением того-же функционала
работает точно также.

Ограничение в 160 строк - странное и я-бы очень хотел диалога с тем кто поставил задачу.
Я не согласен с этим ограничением. Оно ухудшает качество кода. Тк. хороший код - это
всегда развернутый код и код с заложенными возможностями на будущее.

Я-бы отказался делать эту задачу до тех пор пока мне не объяснят чем продиктовано
такое ограничение.

Скорее всего авторы заложились на какую-то коробочную библиотеку. Тогда Java в данном
топике не имеет вообеще никакого значения и надо курить ОперСи-Ви или Тензор-Флоу.
25 окт 20, 20:09    [22220440]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
andreykaT
Member

Откуда: Finland
Сообщений: 3233
я думаю 160 строк это и подразумевается опенсиви с тензором.
задача на
а) разобраться как примотать на изолетну опенсиви
б) написать код на пару десятков строк
25 окт 20, 20:51    [22220451]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
x1ca4064
Member

Откуда:
Сообщений: 1210
Zzz79,

Покажите набор картинок!
А то вилами по воде водим, конкретики нет.
25 окт 20, 21:53    [22220470]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5596
Zzz79,

Я тоже делал это тестовое задание :-)

Это мой проект
А этот проект гуглится в течении минуты.
Я оттуда взял алгоритм распознавания карт.
Правда в нем есть ошибка распознавания туза.
Я в своем проекте поправил.

HR после отправки решения тестового задания ушла в туман.
Но может быть вам повезет.
<:o)
26 окт 20, 08:10    [22220528]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
andreykaT
я думаю 160 строк это и подразумевается опенсиви с тензором.
задача на
а) разобраться как примотать на изолетну опенсиви
б) написать код на пару десятков строк

главное условие- не использовать ни каких сторонних библиотек
26 окт 20, 11:13    [22220606]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mad_nazgul
Zzz79,

Я тоже делал это тестовое задание :-)

Это мой проект
А этот проект гуглится в течении минуты.
Я оттуда взял алгоритм распознавания карт.
Правда в нем есть ошибка распознавания туза.
Я в своем проекте поправил.

HR после отправки решения тестового задания ушла в туман.
Но может быть вам повезет.
<:o)

это питон вроде? сложно для понимания .
Подскажите в чем суть ? как у вас там решается данная задача?
я так понимаю вы создаете две мапы - одна с вырезанными старшинствами,другая с мастями
а далее каким то образом пытаетесь это сравнить?
Вопрос в том как вырезать и как сравнить- ведь ряд состоит из 5 карт- в зависимости от положения элементы различаются и бывает на 10-12 пикселей плюс к этому имеют смещение относильно центра картинки.
26 окт 20, 11:16    [22220608]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mayton


Скорее всего авторы заложились на какую-то коробочную библиотеку. Тогда Java в данном
топике не имеет вообеще никакого значения и надо курить ОперСи-Ви или Тензор-Флоу.

Еще раз - основное условие не испольовать никакие сторонние библиотеки
Ограничение по коду обосновано,так как решение эталонное занимает 100 строк кода( учитывая что там наверно 30 строчек под иморт ) то в реальности логики не больше 50 строчек.
26 окт 20, 11:18    [22220612]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mayton
Member

Откуда: loopback
Сообщений: 49768
Как будет угодно. Я не настаиваю.
26 окт 20, 11:27    [22220620]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mayton,

там собственно на гитхабе лежит весь код,он явно больше 160 строк .
суть его такова что сначала вырезается старшинство и масть ,далее все это покрывается серым цветом везде ,где полутона
все это кладется в мапу и далее уже каким то образом сравнивается с картинками ( каким я так и не понял -там какие то сдвиги бинарные и тд)
26 окт 20, 11:41    [22220635]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
andreykaT
Member

Откуда: Finland
Сообщений: 3233
Ну решение будет дерьмо. И что значит сторонние либы нельзя юзать? Жава утил можно?
26 окт 20, 11:44    [22220640]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5596
Zzz79

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


Вы оба проекта смотрели?
Я писал на Kotlin, второй проект на Java.
Второй проект, откуда взял алгоритм, распознавания образов загуглил за минуту, причем он у меня вышел первой строкой в результате запроса.
Просто берите второй проект, там всё на Java.
Единственное для распознавания туза нужно изменить смещение.

<:o)

Насчет смещения пикселейю
У меня такого нет.
Одно исключение - туз.
Да там смещение другое.

А так сами границы карт, для моих выборок всегда одни и те же.
26 окт 20, 11:45    [22220641]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5596
Zzz79
mayton,

там собственно на гитхабе лежит весь код,он явно больше 160 строк .
суть его такова что сначала вырезается старшинство и масть ,далее все это покрывается серым цветом везде ,где полутона
все это кладется в мапу и далее уже каким то образом сравнивается с картинками ( каким я так и не понял -там какие то сдвиги бинарные и тд)


Такой большой а на слово верите.
Мало ли что кто-то говорит.
Пока не предоставил кода, всё это не более чем слова. ;-)
26 окт 20, 11:47    [22220645]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mad_nazgul
Zzz79,

HR после отправки решения тестового задания ушла в туман.
Но может быть вам повезет.
<:o)

я думаю что они вкурсе за этот проект на гитхабе и там явно видно что человек обладает глубокой экспертизой в области всех этих картинок и тд

red = (int) (0.21 * red + 0.71 * green + 0.07 * blue);

вот там в проекте такого у него пол проекта
что это и откуда взяты эти цифры?
поэтому вас и завернули скорей всего,так как видимо этот проект им на дню по 100 раз приносят)
или там вот есть понятия как гистограмма - проверка на красность пикселей если я верно это понял? а зачем она если карта не красная ?слишком сложно для восприятия для человека,который никогда не работал с изображениями.
26 окт 20, 11:52    [22220651]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
mad_nazgul,

На сколько понял, сравниваете гистограммы по вертикали и по горизонтали?
26 окт 20, 11:56    [22220656]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mad_nazgul


Вы оба проекта смотрели?
Я писал на Kotlin, второй проект на Java.
Второй проект, откуда взял алгоритм, распознавания образов загуглил за минуту, причем он у меня вышел первой строкой в результате запроса.
Просто берите второй проект, там всё на Java.
Единственное для распознавания туза нужно изменить смещение.

<:o)

Насчет смещения пикселейю
У меня такого нет.
Одно исключение - туз.
Да там смещение другое.

А так сами границы карт, для моих выборок всегда одни и те же.

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

там есть такая строчка кода

int[] hist = IntStream.range(0, 256).map(i->0).toArray();

вот за это просто можно сразу было уволить,несмотря на то что человек "якобы понимает что такое гистограмы и сдвиги" -просто сразу видно ,что код не его
26 окт 20, 12:06    [22220674]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode
mad_nazgul,

На сколько понял, сравниваете гистограммы по вертикали и по горизонтали?

посмотри оригинал кода на гитхабе - я честно пока не очень понял механизма что он там делает
26 окт 20, 12:07    [22220678]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79,

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

Но я думаю что ожидается все таки более серьезный алгоритм, например какой нибудь из презентации ссылку на которую кидал выше.
26 окт 20, 12:15    [22220687]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode
Zzz79,

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

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

так я понимаю что можно пройтись по вертикальной линии и это даст нам понимание что за карта-но есть одно но- внутрянка карт смещается взависимости от позиции в ряду карт- всего 5 карт может быть в центре и например на первой позиции туз бубей и на последней это две сильно разные по пикселям карты - где провети вертикальный верктор - вот в чем вопрос ,тоже касается и горизонтали -были бы карты одинаковые вопросов бы не возникало
26 окт 20, 12:26    [22220700]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mad_nazgul,ты кстати мог и по времени не пройти - все таки слишком много в вашей версии манипуляций с пикселями + чтение из файловой системы - скорей всего не уложился в секунду на карту
26 окт 20, 12:28    [22220702]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mad_nazgul


Насчет смещения пикселейю
У меня такого нет.


вот пост 22220188
две 6ки- размер картинок одинаков- но разное количество пикселей по краям-соотвественно можно было бы просто сделать матрицу контрольных точек и на 100% определять что за карта- но изза смещения это невозможно
26 окт 20, 12:31    [22220704]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mayton
Member

Откуда: loopback
Сообщений: 49768
Можно просто сделать downscale исходного изображения в 2х раза по двум осям и объем расчетов уменьшается
в 4 раза. Игроделы эту технику используют под названием mip-mapping, super-texture e.t.c.
26 окт 20, 12:42    [22220710]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79
так я понимаю что можно пройтись по вертикальной линии и это даст...

Ты понимаешь что такое гистограмма?

Вот твои карты
22220188

Вырежи шестерку и посчитай гистограмму по строкам,
третья строка сверху, сумма пикселей 9, на другой картинке тоже 9, разница 0,
четвертая строка сверху 12 и на второй картинке 11, разница 1*1 = 1,
...
девятая строка сверху, 5, 5, разница 0*0 = 0
...

А теперь возьми 9-ку, в девятой строке у тебя будет 10 пикселей в сумме и разница с шестеркой (5-10)*(5-10) = 25,
т.е. если ты посчитаешь среднеквадратичное отклонение между гистограммами, то разные фигуры и ошибки в пикселях
из за положения карт дадут разные на порядок значения.
26 окт 20, 13:10    [22220727]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79,

Но я бы эту задачу решал следующим образом, я бы взял один из алгоритмов 22220356, вырезал эталоны старшинств и мастей, далее из карты вырезал бы области содержащие старшинство и масть и выполнял поиск эталонов в этих областях, размеры картинок у тебя очень маленькие, поэтому о производительности тут даже речь вести странно, более того, можно сначала производить поиск открытой карты на столе, после чего определять что это за карта. И думаю именно такого плана решение ожидают те кто дал это задание.
26 окт 20, 13:23    [22220738]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
АСУ ТПшник
Member

Откуда:
Сообщений: 1339
Пиксели считай, не парься.
26 окт 20, 13:28    [22220741]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5596
graycode
mad_nazgul,

На сколько понял, сравниваете гистограммы по вертикали и по горизонтали?


Ну это не я.
Это алгоритм в исходном проекте. :-)
И да. Там идет сравнение гистограмм.
В начале все сводиться к ч/б, картинке, а потом уже идет сравнение.
26 окт 20, 13:55    [22220768]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5596
Zzz79
mad_nazgul,ты кстати мог и по времени не пройти - все таки слишком много в вашей версии манипуляций с пикселями + чтение из файловой системы - скорей всего не уложился в секунду на карту


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

В вашем случае, похоже его придется написать.

ИМХО, уверен, что в 1 секунду не уложитесь. :-)
26 окт 20, 14:01    [22220777]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
mad_nazgul,

Вакансия связана с распознаванием изображений?
26 окт 20, 14:28    [22220800]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode
mad_nazgul,

Вакансия связана с распознаванием изображений?

https://brainshells.io/
26 окт 20, 14:42    [22220819]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79,

Graduate of mathematics or physics faculty
You love and know how to program
Programming for you is not a goal, but the way of accomplishing tasks
The programming language does not play a decisive role for you
Java
You know and love mathematics, especially probability theory and math statistics
You have experience in machine learning and artificial intelligence
You are able to read and understand a scientific article

))

Artificial intelligence
We work with professional players and create AI in games with incomplete information.

))

Сообщение было отредактировано: 26 окт 20, 14:54
26 окт 20, 14:57    [22220830]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode,

я думаю можно сделать еще проще
0.берем эталоны и 5-6 линиям горизонтальным делаем проссчет пикселей не белых
1.берем карту - обрезаем ее по краям немного чтобы остался только белый фон и элементы внутри него
2.берем теже линии что и в эталоне и высчитываем - далее сравниваем

чем это лучше - не нужно менять цвет ,не нужно проходиться по всем пикселям карты ,мы минуем рассинхрон положения по картам - так как карты имеют рассинхнор только по оси X а по оси Y все карты слава богу не прыгают)

что нам это даст
1.скорость- очень быстро - пройтись по 5 линиям в двух участках карты
2.минимум кода
3.очень точный результат

соотвественно например масть можно иденцифицировать вообще лишь парой линий

сейчас буду пробовать - по сути там наверно будет даже меньше 100 строк кода
26 окт 20, 15:00    [22220833]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79,

Не, не пойдет, там и среднеквадратичное отклонение по гистограммам не прокатит (эффективного кода думаю строк 50 все остальное обвязка), от соискателя ждут нормальное владение математикой и алгоритмами, ясельный уровень на этой вакансии явно не интересен.
26 окт 20, 15:05    [22220835]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode,
Требования:

- Хорошее знание Java (SE)
- Хорошее знание ООП
- Понимание принципов создания многопоточных приложений
- Английский язык на уровне чтения технической документации

Будет плюсом:

- Опыт работы с сокетами
- Опыт работы с JNI, JNA
- Опыт работы с PHP, MySQL, Git
- Базовые знания C/C++


вот их требования на конкретную вакансию

пс. я так понимаю ребята читы чтоли делают для геймеров
26 окт 20, 15:06    [22220838]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79
пс. я так понимаю ребята читы чтоли делают для геймеров

Очень похоже на то, и джавист им нужен с соответствующим бекграундом.
26 окт 20, 15:10    [22220845]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mayton
Member

Откуда: loopback
Сообщений: 49768
Ломать игры и капчи - это задачи не высокого уровня. Ну... разве что для фриланса.
А там - хронические неплатежи и кидалово. Задачи выдают посредники. А они
все время хотят лишний доллар на тебе наварить. Поверь Стас, там где ты щас работаешь
всяко стабильнее оплата заходит. Хоть и не много - но стабильно.
26 окт 20, 15:17    [22220852]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mayton
Ломать игры и капчи - это задачи не высокого уровня. Ну... разве что для фриланса.
А там - хронические неплатежи и кидалово. Задачи выдают посредники. А они
все время хотят лишний доллар на тебе наварить. Поверь Стас, там где ты щас работаешь
всяко стабильнее оплата заходит. Хоть и не много - но стабильно.


так я уволился ,на след понедельник выхожу на новую работу,но так пока делать нечего решил немного посмотреть сколько я стою)
эта вакансия на 2.500 зелени уровень мидл+

эти не похожи на посредников,хотя может это они и есть,ибо я так понял к брейншел они имеют опосредованное отношение.
Воообще уже просто хочется закрыть задачу и посмотреть что скажут)
буду делать по горизонтальным линиям= самое простое и нетривиальное решение
26 окт 20, 15:35    [22220874]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode
Zzz79
пс. я так понимаю ребята читы чтоли делают для геймеров

Очень похоже на то, и джавист им нужен с соответствующим бекграундом.

ну посмотрим - то решение по горизонт.линиям делается быстро -отпарвлю посмортрю что скажут в итоге)
26 окт 20, 15:36    [22220875]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mayton
Member

Откуда: loopback
Сообщений: 49768
Zzz79
mayton
Ломать игры и капчи - это задачи не высокого уровня. Ну... разве что для фриланса.
А там - хронические неплатежи и кидалово. Задачи выдают посредники. А они
все время хотят лишний доллар на тебе наварить. Поверь Стас, там где ты щас работаешь
всяко стабильнее оплата заходит. Хоть и не много - но стабильно.


так я уволился ,на след понедельник выхожу на новую работу,но так пока делать нечего решил немного посмотреть сколько я стою)
эта вакансия на 2.500 зелени уровень мидл+

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

Хорошо. Только исходники им не давай. Покажи демо на экране. И скажи что это решение
стоит денег. Пускай дадут аванс.
26 окт 20, 16:23    [22220904]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mayton,
да я так то вообщем делаю для того чтобы в тонусе быть,так как сейчас отгуливаю отпуски с прошлой работы) чтобы без кода не сидеть - решил поделать всякую фигню)

пс.по горизонтальным линиям все вроде должно рабоать - макс расхождение между схожими картами- 2 пикселя на линию
между разными очень большая разница- так что все норм я думаю)
26 окт 20, 16:45    [22220915]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79,

Расхождение среднеквадратичное бери, квадрат расхождения в два пикселя для одной линии даст 4, а расхождение в 10 пикселей даст 100, хоть какой то элемент наукообразности внесешь))
26 окт 20, 17:18    [22220943]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode
Zzz79,

Расхождение среднеквадратичное бери, квадрат расхождения в два пикселя для одной линии даст 4, а расхождение в 10 пикселей даст 100, хоть какой то элемент наукообразности внесешь))

Это да так и хочу)

Не пойму зачем ребята в этом задании тянули образцы изображений и каждый раз при запуске проекта были вынуждены их парсить
вместо того чтобы положить значения в имутейбл мапу ,которая летает как турбо пушка ,тем самым спокойно можно вложиться в секунду
26 окт 20, 18:54    [22221001]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mayton
Member

Откуда: loopback
Сообщений: 49768
Zzz79
graycode
Zzz79,

Расхождение среднеквадратичное бери, квадрат расхождения в два пикселя для одной линии даст 4, а расхождение в 10 пикселей даст 100, хоть какой то элемент наукообразности внесешь))

Это да так и хочу)

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

Смотря что сложить? Пикселы лучше всего хранятся в BufferedImage. Примитивы. 1 пиксел обычно равен
либо 1 int либо 1 байт в зависимости от разрядности цвета.

Тоесть FullHD картинка будет занимать 1920×1080 = 2073600 pixels = 2073600 * 4 = 8294400 bytes
Или 8 мегабайт. При этом доступ к каждому пикселу очень быстрый. Const. Это быстрее чем к хеш
табличке потому что нет промахов никогда и нет расчета хеша.

А если нужно доступиться к фрагменту всей картинки то копировать ничего не надо. А просто сделать
перенос координат. Как-бы рамку наложить и с ней работать.

А если все пикселы перенести в мапу типа Map<Position,Color> или Map<Position,Integer> то объема эта структура займет в десятки
раз больше чем 8 мегабайт ибо хранит не примитивы а объекты на каждый ключ и значение.

Вобщем если брать за основу шаблон - то это близко к https://en.wikipedia.org/wiki/Flyweight_pattern
26 окт 20, 19:18    [22221014]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mayton,я вот про что
   private static Map<String,List<Integer>>rankMap=Map.ofEntries(
           Map.entry( "2",List.of(14, 16, 7, 8, 7, 17, 17, 17)),
            Map.entry( "3",List.of(16, 15, 6, 11, 6, 14, 11, 7)),
            Map.entry("4",List.of(7, 8, 11, 12, 20, 6, 6, 4)),
            Map.entry("5",List.of(14, 14, 5, 8, 5, 13, 11, 7)),
            Map.entry("6",List.of(14, 15, 5, 14, 10, 12, 10, 7)),
            Map.entry("7",List.of(17, 17, 5, 6, 6, 6, 5, 5)),
            Map.entry("8",List.of(13, 15, 9, 16, 11, 13, 11, 7)),
            Map.entry("9",List.of(15, 15, 10, 16, 10, 13, 11, 7)),
            Map.entry("10",List.of(23, 25, 16, 15, 16, 17, 15, 10)),
            Map.entry("J",List.of(5, 5, 5, 5, 5, 12, 10, 6)),
            Map.entry("Q",List.of(17, 19, 13, 15, 18, 19, 16, 9)),
            Map.entry("K",List.of(11, 11, 11, 13, 12, 12, 11, 10)),
            Map.entry("A",List.of(7, 7, 10, 11, 18, 10, 11, 10)));

   private static Map<String,List<Integer>>suitMap=Map.of(
             "s",List.of(3, 13, 7, 2, 13),
           "c",List.of(5, 11, 12, 9, 14),
            "h",List.of(0, 8, 2, 0, 3),
            "d",List.of(5, 5, 3, 5, 3));

вот эта матрица дает мне количество небелых пикселей по горизонтальным линиям
26 окт 20, 20:05    [22221033]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mayton
Member

Откуда: loopback
Сообщений: 49768
Хм... Как-то хардкодно всё. Ведь эти твои таблицы - вторичны. А первичны
растровые образы карт.

Дизайнер просто шрифт поменяет для "мастей" и вся твоя логика рухнет.

По идее игральные карты должны подгружаться отдельно как ресурсы.
Как семплы новых карт которые могут появится в игре.
26 окт 20, 20:13    [22221041]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
mayton
По идее игральные карты должны подгружаться отдельно как ресурсы.
Как семплы новых карт которые могут появится в игре.

Их можно сразу преобразовывать и хранить в уже готовом к сравнению виде, преобразовывать при каждом запуске приложения немного излишне.
26 окт 20, 20:51    [22221060]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mayton
Хм... Как-то хардкодно всё. Ведь эти твои таблицы - вторичны. А первичны
растровые образы карт.

Дизайнер просто шрифт поменяет для "мастей" и вся твоя логика рухнет.

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

собственно так же рухнет и код у ребят,ведь они тянут картинки -эталоны ,к тому же полностью захардкожена вырезание.
все эти манипуляции на чистой джаве с картинками будут априори хардокрны ,так как мы привязываемся к координатам
26 окт 20, 20:51    [22221062]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode
mayton
По идее игральные карты должны подгружаться отдельно как ресурсы.
Как семплы новых карт которые могут появится в игре.

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

при этом во первых тебе нужно заготовить эти эталоны,перекрасить,вырезать,потом еще раз обсчитать их -я просто сделал сразу мапу ,чтобы не городить этот огород с образцами и не тянуть лишнее в проект
26 окт 20, 20:53    [22221064]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
Ребят кто нить знает как можно заставить эту контструкцию заработать
 private String resolver(int[]i,Map<String,List<Integer>>maps) {
        maps.forEach(
                (k,v)-> {
                    double sum = 0;
                    for (int j = 0; j < v.size(); j++) {
                        if (Math.pow(i[j] - v.get(j), 2) > 1) {
                            sum = +Math.pow(i[j] - v.get(j), 2);

                        }
                    }
                    if(sum<5){
                        return k;
                    }
                });
        return "";
    }

соотвественно я не могу вернуть значение k из лямбды,а очень хочется.
Не пойму как мне массив с листами из мапы сопоставить покрасивей
26 окт 20, 21:25    [22221080]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
собственно можно и не возвращать,достаточно вывода в консоль)
26 окт 20, 22:13    [22221105]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mayton
Member

Откуда: loopback
Сообщений: 49768
Лямбды - это механизм узкой направленности.
Не стоит на них делать вообще все.
26 окт 20, 22:18    [22221108]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mayton,
да не в плане работы с коллекциями им нет равных
собстно программа написана
100% совпадений
80 строчек кода вместе с развернутыми импортами)
короче превзошел я их составителя задач,который писал что решил за 100 строчек кода
26 окт 20, 22:40    [22221125]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79,

Требуй от них как минимум обратной связи))
26 окт 20, 22:59    [22221141]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4806
[youtube=]
26 окт 20, 23:40    [22221166]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Alibek B.
Member

Откуда:
Сообщений: 3722
Zzz79
вот такая печаль одинаковые карты с разных положений на столе

Печаль в другом, в упорном непонимании.
Это не растровая картинка, попиксельное сравнение глупо и бесполезно.
Это векторная картинка, либо SVG, либо (скорее всего) юникодные символы.
При отрисовке она будет оптимизироваться и даже если карты будут рисоваться одного размера и в одном и том же месте, попиксельно они могут (и будут) различаться.
Тут уже давали совет про сетку. Либо почти то же самое уменьшить изображение, например до 10x10 пикселов. А потом построить гистограмму. Это тоже костыли, но хотя бы минимально устойчивые.
27 окт 20, 08:53    [22221229]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
Alibek B.
Zzz79
вот такая печаль одинаковые карты с разных положений на столе

Печаль в другом, в упорном непонимании.
Это не растровая картинка, попиксельное сравнение глупо и бесполезно.
Это векторная картинка, либо SVG, либо (скорее всего) юникодные символы.
При отрисовке она будет оптимизироваться и даже если карты будут рисоваться одного размера и в одном и том же месте, попиксельно они могут (и будут) различаться.
Тут уже давали совет про сетку. Либо почти то же самое уменьшить изображение, например до 10x10 пикселов. А потом построить гистограмму. Это тоже костыли, но хотя бы минимально устойчивые.

Да почему) понял я уже что надо пройтись по и изображению и составить матрицу пикселей,в народе называемую гистограммой
но для таких простых изображений достаточно и 7-8 горизонтальных линий
при этом дальнейший анализ показал ,что некторые цифры написаны разным шрифтом и соотвественно никакая гистограмма в единичом экземпляре не поможет) соотвественно что нам и продемонстрировал человек выше- его программа не прошла ревью- так как они составляли гистограммы по эталонному образцу ,не учитывая фактора смены шрифта
27 окт 20, 11:13    [22221291]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
думаю что реальное решение вообще не имеет ничего общего с гистограммами и пикселями
скорей все тут нужно проводить векторный анализ и сравнивать углы ,а не количство пикселей или их осуствие
в таком случае нам не будет важен цвет и размер шрифта,так как угол векторов всегда будет один и тот же
27 окт 20, 11:16    [22221294]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
к заданию прилагают почти 1000 разных картинок) прикол нарыл там картинки,у которых карты в тени- соотвественно мой алгоритм белых пикселей ломается,придетсся добавлять еще серый цвет,а им обрамлены элементы ,причем всегда по разному)короче веселая задача.
Кстати если делать гистограмму по 8 горизнотальным линиям- то квадратичная разница - не работает - слишком мала выборка, так как фигуры некторые очень идентичны 8 и 9 например .Либо тогда считать все линии по вертикали ,горизонтали- будет точно ,но наверно не уложишься в секунду
27 окт 20, 18:08    [22221618]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mayton
Member

Откуда: loopback
Сообщений: 49768
Тебе повезло что надо распознавать игральную карту. А если там будут карты Таро?
Там не будет ярко выраженных красных и черных цветов. И не будет известно в каких
позициях стоят геометрические векторные фигурки Diamons, Spades, Hearts. e.t.c.
27 окт 20, 18:14    [22221623]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mayton,
тоже справедливо- но для этого есть спец.библиотеки

мы же не руками уже сто лет собираем проекты а градл/мавен и так во всем )
для чего этот дрочь я не пойму)

но собственно ответ лежит тут

Можем оформить официально (с вашей стороны ИП), работа полностью удалённая, 5:2

тоесть ребятки работают неофициально ,еще и какое то ИП ,а клепают читы
на мой воопрос какое отношение вы имеете к брейншелс -типо это они и есть)

по поводу затененных карт - в принципе ничего сложного - добавить серый цвет на проверку ну и матрица конечно изменится немного
27 окт 20, 18:37    [22221650]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79
для чего этот дрочь я не пойму)

Посмотреть на сколько кандидат владеет алгоритмами, ссылку на презентацию в которой много разных алгоритмов поиска я давал, вот примерно этого и хотят, только скорее всего есть более современные подходы, на самом деле можно наверное было уже найти имплементацию приличного алгоритма на Java и спокойно ей эту задачу решить.
27 окт 20, 18:59    [22221668]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
a_voronin,

Поиск карты, поворот, масштабирование, все замечательно, вот дальше плохо, сравнение областей одинакового размера не очень устойчивый вариант, поиск вхождения эталонного варианта в более широкой области был бы лучшим решением.
27 окт 20, 19:02    [22221671]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4806
graycode
a_voronin,

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


[youtube=]
27 окт 20, 19:59    [22221704]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode
Zzz79
для чего этот дрочь я не пойму)

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


смотри - алгоритмы джава это одно,работа с изображениями это совсем другое и никакие алгоритмы джавы тут рядом не стояли,что собственно и подтверждается тем ,что из этой темы парня послали

вот у меня 85 строчек кода и все работает ,правда попотеть пришлось с матрицей
а у ребят что ? выдрали кусок изображения ,закрасили серым и думали - поймали пттицу счастья) но нет)
27 окт 20, 20:16    [22221718]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79
смотри - алгоритмы джава это одно,работа с изображениями это совсем другое

Джава второстепенна в данном вопросе, нет алгоритмов джавы, есть алгоритмы обработки изображений, на чем их реализовывать вопрос не критичный вообще, у них используется джава, значит пиши на джаве, но по большому счету алгоритму пофигу на чем его будут реализовывать, алгоритму от этого ни тепло ни холодно, он не принадлежит никакому языку программирования.
27 окт 20, 20:20    [22221723]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode
Zzz79
смотри - алгоритмы джава это одно,работа с изображениями это совсем другое

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

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

Ну собственно небольшой разговор подтвердил ,что это какая шляпа - контора ( если вообще контора) ,тоесть хр на любой мой вопрос пропадала минут на 10)
мне очень понравилась реакция - я говорю вы брейншелс или посредники) - она щас я уточню))

Ну и конечно апофиоз всего это мы работаем тока с ИП)))))
27 окт 20, 20:29    [22221728]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79
вот в том и дело их задача вообще не имеет никакого отношения к программированию.
Там нужен человек,умеющий декомпозировать задачи и ставить правильные цели уже непосредственно прогерам

Программист не кодер, то что ты описываешь это тупой монкей кодер, который к программированию действительно не имеет отношения))

Zzz79
Ну собственно небольшой разговор подтвердил, ...

Обратную связь по своему тестовому заданию получил?
27 окт 20, 20:41    [22221735]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode
Zzz79
вот в том и дело их задача вообще не имеет никакого отношения к программированию.
Там нужен человек,умеющий декомпозировать задачи и ставить правильные цели уже непосредственно прогерам

Программист не кодер, то что ты описываешь это тупой монкей кодер, который к программированию действительно не имеет отношения))

Zzz79
Ну собственно небольшой разговор подтвердил, ...

Обратную связь по своему тестовому заданию получил?

ты заблуждаешься) причем очень сильно)
смотри я по первой профессии инженер-дорожник и раньше мы все чертили руками ,сейчас автокад
автокад уже учитывает все наши нюансы,вот ты мне скажи - ты окончивши програмерский факультет сможешь это писать?- конечно нет,впрочем как и картиники эти)
там миллионы нюансов ,которые программист не знает и не должен знать,тоже касается и обработки изображений
Это я тебе к чему пишу-задача программиста знать свое дело,а если у конторы нет людей нанять инженера строителя или как в случае с картинками я фиг знает кого - то это не значит что все вокгруг тупые)

Просто эта задача выходит за рамки программирования ,так как человек который ее исполнит должен обладать набором специфических знаний
27 окт 20, 21:58    [22221768]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79
Это я тебе к чему пишу-задача программиста знать свое дело

И какое у программиста дело?

Zzz79
в случае с картинками я фиг знает кого

Нормальный программист с хорошим математическим бэкграундом и хорошей алгоритмической подготовкой.

PS: посмотри отбор в FAANG, вот набирают этих самых фиг знает кого и зачем ...))
27 окт 20, 22:39    [22221779]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode
Zzz79
Это я тебе к чему пишу-задача программиста знать свое дело

И какое у программиста дело?

Zzz79
в случае с картинками я фиг знает кого

Нормальный программист с хорошим математическим бэкграундом и хорошей алгоритмической подготовкой.

PS: посмотри отбор в FAANG, вот набирают этих самых фиг знает кого и зачем ...))

Ты находишься в плену иллюзий)

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

Или при разработке автопилота боинга программист должен знать аэрофизику и сопромат?))

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

На счет FAANG смотреть не буду,но я думаю ты видел ,кого нанимали боинг и к чему это привело.
Если у конторы нет денег на человека,который занимается компухтерным зрением,наверно стоит пройти мимо ну или начать учить аэрофизику и астродинамику или как оно там)
28 окт 20, 09:51    [22221937]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
yvprod
Member

Откуда:
Сообщений: 24
Zzz79,

а как же проверить на кругозор, логическое мышление. Ваш воображаемый программист в вакууме)
Попробуйте посмотреть на задачу с практической точки зрения, подумать. А то вы сразу кодировать лезете
28 окт 20, 10:05    [22221943]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79,

Странное видение работы программиста, это какой то сферический конь программист в вакууме получается, такого на кодогенератор можно заменить совершенно спокойно.
28 окт 20, 10:54    [22221994]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
graycode
Zzz79,

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

Ну как бы это так и есть,или ты предлагаешь программистам учить бухучет и астрофизику?))
28 окт 20, 15:08    [22222328]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
yvprod
Zzz79,

а как же проверить на кругозор, логическое мышление. Ваш воображаемый программист в вакууме)
Попробуйте посмотреть на задачу с практической точки зрения, подумать. А то вы сразу кодировать лезете

Данная задача имеет узкоспециализированную направленность,не будучи в теме -ты ничего там не сможешь сделать
ПРограммирование давно уже разделилось на подвиды,энтерпрайз,биг дата,AI,CV
и все это абсолютно разные между собой направления,а когда этого не понмают в фирме,куда ты хочешь идти - наверно туда идти и не стоит)

Я вот по энтерпрайзу,мне до этих алгоритмов поиска сферического коня в вакууме - ну как бы совсем параллельно)
собственно как и человеку работающему с CV пофиг на сущности и бизнес процессы

НЕ зря же в свое время программирование разделилось на фронт и бэк ,вот бэк уже тоже в эту сторону смотрит давно

не может один человек быть и жнец и жрец и на дуде игрец- ну если только индусы,но тогда где то начинает плакать боинг
28 окт 20, 15:14    [22222336]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5596
Zzz79

Данная задача имеет узкоспециализированную направленность,не будучи в теме -ты ничего там не сможешь сделать
ПРограммирование давно уже разделилось на подвиды,энтерпрайз,биг дата,AI,CV


Насчет "кровавого Ынтырпрайза" я бы поспорил.
В нем нужны и распознавание образов, и биг-дата, и AI с CV.

Участвовал в проекте для банка, где нужно было распознавание по лицу.
Проверка лица с фотографии удостоверения личности с фоткой камеры iPad-а.
Моя часть была - вытащить фотку с удостоверения + другую информацию оттуда.
Другой человек прикручивал библиотеку распознавания и сопоставления лиц.
Библиотека была сторонняя (и платная), но все же там были свои нюансы.
29 окт 20, 05:59    [22222726]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mad_nazgul
Zzz79

Данная задача имеет узкоспециализированную направленность,не будучи в теме -ты ничего там не сможешь сделать
ПРограммирование давно уже разделилось на подвиды,энтерпрайз,биг дата,AI,CV


Насчет "кровавого Ынтырпрайза" я бы поспорил.
В нем нужны и распознавание образов, и биг-дата, и AI с CV.

Участвовал в проекте для банка, где нужно было распознавание по лицу.
Проверка лица с фотографии удостоверения личности с фоткой камеры iPad-а.
Моя часть была - вытащить фотку с удостоверения + другую информацию оттуда.
Другой человек прикручивал библиотеку распознавания и сопоставления лиц.
Библиотека была сторонняя (и платная), но все же там были свои нюансы.


То что ты делал не имеет ничего общего с "кровавого Ынтырпрайза" ,кроме слова Банк)
причем тоже самое ты мог делать и не для банка,а для какого нить садово-огородного сообщества,чтобы не крали кабачки с грядок)
Делал ты CV ,а то что заказчиком выступал банк-без разницы,в след раз у тебя закажут на проходную байконура такую распознавалку - ты будешь уверять ,что познал дзен астрофизики?))))
29 окт 20, 09:29    [22222759]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5596
Zzz79

То что ты делал не имеет ничего общего с "кровавого Ынтырпрайза" ,кроме слова Банк)
причем тоже самое ты мог делать и не для банка,а для какого нить садово-огородного сообщества,чтобы не крали кабачки с грядок)
Делал ты CV ,а то что заказчиком выступал банк-без разницы,в след раз у тебя закажут на проходную байконура такую распознавалку - ты будешь уверять ,что познал дзен астрофизики?))))


Вот это был что ни на есть самый настоящий "кровавый Ынытрпрайз".
С кучей легаси и пр.
Просто в легаси проект нужно было добавить распознавание по лицу.
Добавили. Даже API-ку для сделали для мобилки.
Причем данные с iPad'а проходили через три информационные системы - АБС, CRM, и систему оценки рисков.
Там ещё дергались внешние системы, база физ лиц и кредитный рейтинг.

Т.е. распозновалка лица это была часть работы (не самая сложная).
Основное было выдать кредит или нет (это было самое сложное).
29 окт 20, 16:34    [22223041]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mad_nazgul
Zzz79

То что ты делал не имеет ничего общего с "кровавого Ынтырпрайза" ,кроме слова Банк)
причем тоже самое ты мог делать и не для банка,а для какого нить садово-огородного сообщества,чтобы не крали кабачки с грядок)
Делал ты CV ,а то что заказчиком выступал банк-без разницы,в след раз у тебя закажут на проходную байконура такую распознавалку - ты будешь уверять ,что познал дзен астрофизики?))))


Вот это был что ни на есть самый настоящий "кровавый Ынытрпрайз".
С кучей легаси и пр.
Просто в легаси проект нужно было добавить распознавание по лицу.
Добавили. Даже API-ку для сделали для мобилки.
Причем данные с iPad'а проходили через три информационные системы - АБС, CRM, и систему оценки рисков.
Там ещё дергались внешние системы, база физ лиц и кредитный рейтинг.

Т.е. распозновалка лица это была часть работы (не самая сложная).
Основное было выдать кредит или нет (это было самое сложное).

ты сам ответил на свой же вопрос "Просто в легаси проект нужно было добавить распознавание по лицу"
при этом к "кровавый Ынытрпрайз" ты не имел ни какого отношения

ты добавил немного СМ в энтерпрайз, вот и все,при этом ты не кодил сам энтерпрайз - сечешь?)

пс.учись признавать свои фейлы) иначе будет сложно дальше жить )
29 окт 20, 21:03    [22223218]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5596
Zzz79

ты сам ответил на свой же вопрос "Просто в легаси проект нужно было добавить распознавание по лицу"
при этом к "кровавый Ынытрпрайз" ты не имел ни какого отношения

ты добавил немного СМ в энтерпрайз, вот и все,при этом ты не кодил сам энтерпрайз - сечешь?)

пс.учись признавать свои фейлы) иначе будет сложно дальше жить )


Нет не секу. :-)

Почему в "кровавом Ынтыпрайзе" не может быть CV, бигдата и машинлёрнинг?

Можно объяснить?

Пока я не вижу вашей логики.
30 окт 20, 06:29    [22223341]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10762
mad_nazgul
Нет не секу. :-)
Если смузи-мэн покатался на самокате по строительной площадке - это не делает его настоящим сварщиком
30 окт 20, 07:17    [22223344]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5596
Basil A. Sidorov
mad_nazgul
Нет не секу. :-)
Если смузи-мэн покатался на самокате по строительной площадке - это не делает его настоящим сварщиком


Если смузи-мэн на самокате развозит кирпичи по стройке.
То это таки делает его строителем. ;-)
30 окт 20, 11:27    [22223445]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
Zzz79
Member

Откуда:
Сообщений: 1007
mad_nazgul
Zzz79

ты сам ответил на свой же вопрос "Просто в легаси проект нужно было добавить распознавание по лицу"
при этом к "кровавый Ынытрпрайз" ты не имел ни какого отношения

ты добавил немного СМ в энтерпрайз, вот и все,при этом ты не кодил сам энтерпрайз - сечешь?)

пс.учись признавать свои фейлы) иначе будет сложно дальше жить )


Нет не секу. :-)

Почему в "кровавом Ынтыпрайзе" не может быть CV, бигдата и машинлёрнинг?

Можно объяснить?

Пока я не вижу вашей логики.

Он там может быть ,но даже ты разделяешь эти направления )
Это вот смотри -вертолетом управляет лётчик ,самолётом тоже лётчик ,они оба летчики !но их направления и знания настолько разные ,что скорей всего пилот самолета не сможет и взлететь на вертолете ,хотя база знаний у них одна ,аэродинамика ,навигация и тд
В программировании тоже самое ,ты цвшник сядешь в лужу на бигдате ,я Энтерпрайз сяду в лужу на цв и оба мы сядем в лужу на аи)
31 окт 20, 18:19    [22224055]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
graycode
Member

Откуда:
Сообщений: 461
Zzz79
я Энтерпрайз

фигасе USS Enterprise залетел на форум Java ...))
31 окт 20, 18:25    [22224058]     Ответить | Цитировать Сообщить модератору
 Re: Распознать элементы на картинке  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5596
Zzz79

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


Вот тут я с вами не согласен.

По вашей аналогии программисты могут быть разные (летчики) - с этим я согласен.
Но работать они могут в одной компании, по аналогии - в логистической компании.
И в зависимости от. Грузы могут транспортироваться на разных транспортных средствах - вертолет, самолет, корабль, ЖД и пр.
Так вот это и есть "кровавый Ынтырпрайз".
В нем рядом могут соседствовать как ультрасовременные самолеты, так ЖД двухсотлетней давности.
Причем выполняют одну и ту же задачу - доставка грузов.

Правда в реальном мире, никто машиниста паровоза не посадит за штурвал грузового самолета.
А вот в "кровавом Ынытрпрайзе" это запросто.

<:o)
2 ноя 20, 06:41    [22224586]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3 4 5 6      [все]
Все форумы / Java Ответить