Pull to refresh

Comments 67

Обалденно! Так просто и настолько же круто!
Только исходники не качаются :(
Отличная статья!
Столько методов обработки изображения (и не только), собранных вместе…
Это ничуть не умаляет его достоинств и фундаментальности. Программируя на различных других языках, которые были написаны на C\C++ очень сильно чувствуешь это.
Ну C++ может напрямую работать с памятью, а сейчас в моде скриптовые языки. Возможно поэтому происходит подмена понятий.
Интересно!

Вопрос только почему у него уходит 100мс на получение изображения с камеры, вроде большая часть современных вебкамер может отдавать 30фпс при VGA… или он имеет в виду именно задержку между событием и получением кадра?
Нет, задержка именно получения кадра, я тоже был удивлён. К сожалению гадать почему, не имея названия и модели камеры, вряд ли целесообразно.
Я бы не стал называть Integral Image целочисленным. Целочисленный от слова целое число (кэп). Тут либо интегральное изображение, либо что-то еще.
кстати, ссылку на источник укажите, плиз.
Ссылка есть стандартными средствами хабра, в конце статьи, слева от имени опубликовавшего автора (NeonMercury) есть имя Bojan Banko, автора. При клике на его имени по ссылке, произойдёт переадресация на статью-первоисточник.
UFO just landed and posted this here
Отличный пост, хорошо все расписано. Спасибо, было интересно!
Супер! Pагорелся реализовать свою версию под iOS
тоже хотел, но нету времени. Удачи)
UFO just landed and posted this here
класс! нашел в сторе бесплатную версию, аналог и бесплатный аналог.
UFO just landed and posted this here
нет, ну я совершенно искренне рад как ребёнок этим OCR бумажных судоку :) люблю судоку, а тут такое. а вы что нашли за те 10 минут? )
UFO just landed and posted this here
ну, текстовый граббер понятно полезнее, но им и никого не удивишь )
UFO just landed and posted this here
Никто и не спорит, но автор статьи это не для «игры таким вот образом» делает, а для фана и обучения себя любимого. И проги под iOS наверняка написаны для этого же.

С точки зрения пользователя их можно применять для получения решения, в которое можно будет заглянуть после/во время отгадывания бумажного судоку. Или, скажем, для оцифровки и решения наперегонки — игровые функции вполне реализованы. А вот мне, например, просто достаточно открыть, попробовать оцифровать и порадоваться, что кто-то это реализовал. К примеру, на прошлой неделе я наткнулся в сторе на прогу, решающую кубик-рубика — казалось бы тоже безделица, но меня вставило.
Несомненно, реализаций в разном доступе очень много. Но всегда интересно сделать самому и попытаться сделать это лучше, чем у других:)
UFO just landed and posted this here
> Чтобы b/w (просто поочерёдное усреднение значений пикселей) был дольше
Дык в тексте же написано.
«И эти подсчёты производятся для каждого пикселя. Поэтому данный шаг является таким медленным, ведь алгоритм требует ширина*высоты*121 чтений пикселя изображения.»
UFO just landed and posted this here
Перевод видно сразу по слову «действительно».
Это как лакмус, в русском это слово используется редко.
Перевод «i really wanted to...» лучше делать как «я очень хотел...».
UFO just landed and posted this here
Кстати, я тоже «действительно» произношу не реже других слов в своей речи. С чего вы взяли, что слово редкое?
Ну даже если вы его часто используете, его нужно использовать с толком.
Калька с английского really не подходит, если мы стремимся сделать качественный перевод.
На самом деле, подобное обращение я расцениваю как оскорбление. Этот текст содержит около 3000 слов, состоящих из почти 20 000 символов. Среди этих слов и оборотов, было сделано крайне много адаптаций, чтобы текст читался приятно, глаз не цеплялся за неверные слова.
Поэтому, я считаю, «калька»- сугубо ваше личное негативное восприятие, никак не влияющее на качество перевода.
Перевод не идеален, потому что я не переводчик, даже на курсы не ходил. Всего лишь закончил 11 классов в школе с обычным (даже не усиленным) изучением английского. Я просто программист, который перевёл для своих товарищей интересную, познавательную и одновременно сложную статью. Поэтому если вам не нравится, что «really» я перевёл как «действительно», то скорее всего это вам не нравится, а не перевод плохой.
Что ж все компьютерщики такие чувствительные :)
Не собирался я вас обижать.
Неужели, если вы что-то делаете, вам не хочется сделать это как можно лучше? А если вы допустили какие-то мелкие неточности, неужто вам не интересно узнать об этом, чтобы в следующий раз сделать всё ещё лучше?
Я замечания писал не для того, чтобы вас оскорбить, как вы говорите. А исключительно из любви к перфекционизму.
Статью вы в целом перевели очень хорошо, труд ваш даром не прошёл, она всем понравилась. Поздравляю!

>> замечания ... А исключительно из любви к перфекционизму.

Неплохо бы этот принцип применить к собственным публикациям

Интересно наблюдать, как одна задача развёртывается во много задач :)
UFO just landed and posted this here
Определить — это ерунда, вот ездить на нём…
Теперь какой-нибудь самородок из России должен в ответ сделать авторешатель кроссвордов!
О! Я вспомнил про tesseract-ocr! Ведь так давно хотел его потыкать…
Как-то очень быстро 7мс на решение. Непереборные алгоритмы до 200мс на самых сложных судоку отрабатывают. Этот, например. Правда это Python, а не C++.
>> Переписать программу под Android.
Google Goggles уже имеет такую функциональность, правда распознавание идет через сервер
Попробовал под Win7 на своём Lenovo G560. Изображения с вебки почему-то нет.
Сама статья, кстати, очень годная, хотя мелкие ошибки стоит поправить. Благодарю за такой интересный материал, будет теперь о чём подумать.
Гениально. Давно задавался вопросом, каким образом действуют подобные системы, вот теперь имею общее представление. Код к сожалению нет времени читать, да и с C++ знаком довольно поверхностно. Спасибо за перевод. Однако демка у меня почему-то не работает, не определяет и не считает(
Нажимал все пункты менюшки, эффект == zero
Мда, у меня отчего-то тоже не работает(( Картинка есть, но эффекта нет никакого…
Рискну предположить что проблема скорее всего где-то на уровне дрова->программа.
UFO just landed and posted this here
Ну статья, к сожалению, не моя, я всего лишь переводчик.
А если рассматривать автора, то он пишет, что всё просто так, just for fun
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
На судоку 4 на 3 не сработало…

А вот 3 на 3 отлично вычисляет! Спасибо!
Очень интересно. Только слово «пазл» несколько раздражает, в русском языке у него более узкое значение, мне кажется, что логичнее использовать слово «головоломка».
Применяя к картинке порог, вы делаете, имхо, большую глупость — теряете большое количество информации. Это особенно важно для цифр и букв в небольшом разрешении (если у вас цифра высотой 100 пикселов то конечно пофиг). Надо работать с цифрами в градациях серого. Откуда вообще идет эта дурацкая традиция?

Также, стоило бы воспользоваться хитростями устройства человеческого мозга: как мы отличаем например 8 от B? Мы специально смотрим на форму левой палочки, то есть при распознавании конкретной цифры и сравнении с образцом некоторые участки изображения имеют значительно больший приоритет, чем другие. Это как японимаю, в вашем алгоритме не учитывается. Печально. Японские иероглифы вашим алгоритмом точно не разберешь :)
Ушёл дописывать программу, играющую в рулетку через вебкамеру в реальном времени.
> Как это работает? Вы должны вспомнить школьную формулу
> y=(x*cos(theta)+rho)/sin(theta).

Насколько я помню, формула такая: x*cos(a)+y*sin(a)=r, откуда y=(r-x*cos(a))/sin(a).
Отличная статья. Смешная опечатка: «программа начинает переДирать значения»
Sign up to leave a comment.

Articles