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

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

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


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

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

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

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

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

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


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

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

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

Откуда:
Сообщений: 1005
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

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

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

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

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

Откуда: loopback
Сообщений: 49762
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

Откуда:
Сообщений: 1005
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
Сообщений: 49762
Хм... Как-то хардкодно всё. Ведь эти твои таблицы - вторичны. А первичны
растровые образы карт.

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

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

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

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

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

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

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

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

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

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

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

Откуда:
Сообщений: 1005
Ребят кто нить знает как можно заставить эту контструкцию заработать
 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

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

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

Откуда:
Сообщений: 1005
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

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

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

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

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

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

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

Откуда:
Сообщений: 1005
к заданию прилагают почти 1000 разных картинок) прикол нарыл там картинки,у которых карты в тени- соотвественно мой алгоритм белых пикселей ломается,придетсся добавлять еще серый цвет,а им обрамлены элементы ,причем всегда по разному)короче веселая задача.
Кстати если делать гистограмму по 8 горизнотальным линиям- то квадратичная разница - не работает - слишком мала выборка, так как фигуры некторые очень идентичны 8 и 9 например .Либо тогда считать все линии по вертикали ,горизонтали- будет точно ,но наверно не уложишься в секунду
27 окт 20, 18:08    [22221618]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6   вперед  Ctrl      все
Все форумы / Java Ответить