Главная arrow Статьи arrow Что такое Semacode и с чем его едят  
28.04.2017 г.
Главная
Проекты
Статьи
Начинающим
Архив новостей
Ссылки
Контакты
Поиск
Файлы
Форум
Карта сайта
Авторизация





Забыли пароль?
Ещё не зарегистрированы? Регистрация
Поддержи наш сайт!
Через WebMoney

 R785211844650
 Z210696637574
 E368177590409

Простые устройстваОтличные товары по превосходным ценамОтличные товары по превосходным ценам
Что такое Semacode и с чем его едят Печать E-mail
Рейтинг: / 12
ХудшаяЛучшая 
Автор ARV   
28.10.2007 г.

sem@code
Sem@code
Натолкнулся в сети на упоминание об интересном способе кодирования текста в черно-белое графическое изображение, состоящее из квадратиков по типу штрихкода, но двумерного (пример слева). Этот код назван Semacode. В интернете немало статей на эту тему, в знаменитой Wikipedia есть вообще отдельный домен, посвященный ему!

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

Semacode предназначен в первую очередь для того, чтобы упростить жизнь тех, кто часто бродит по интернету прямо при помощи мобильного телефона, благо, что http-браузеры сейчас встроены почти во все модели. В чем же видят проблему авторы semacode? Да в процессе ввода URL (т.е. адресов страниц): клавиатура телефона - это вам не клавиатура компьютера! Так вот, по замыслу разработчиков, достаточно на сайте разместить semacode с закодированным адресом (на рисунке как раз semacode с адресом моего сайта Улыбающийся), чтобы интернет-путешественник просто сфотографировал его камерой своего телефона, сидя, например, перед дисплеем нормлаьного компьютера, а потом, будучи уже "мобильным" не мучился с вводом адреса, а воспользовался мидлетом, распознающим semacode, т.е. извлекающим из картинки закодированный URL. Вот еще пример, когда semacode окажется кстати: если вы разместили бумажное объявление о какой-либо услуге, оказывать которую вы готовы, то язычки с номером телефона оторвут быстро, и приток "клиентов" к вам снизится. Если же вы разместите на объявлении semacode со своим телефоном, e-mail или http-адресом своего сайта, то все желающие смогут без проблем сфотографировать его и пользоваться при необходимости.

 

Вы скажете, что сфотографировать можно и просто объявление, вовсе незачем какие-то коды городить... Но это не совсем так же удобно: VGA-камера вряд ли позволит разобрать буквы с фотографии, если они меньше спичечного коробка (много объявлений вы встречали, набранных таким шрифтом?). Кроме того, не забывайте, что вводить-то текст с картинки вам все равно придется вручную... А как вы это будете делать, если далеко не все телефоны позволяют одновременно просматривать снимки и работать с телефонной книгой или номеронаберателем...не говоря уж о браузере... Так что повод задуматься о целесообразности такого подхода есть.

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

В общем, надеюсь, основная идея понятна.

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

ImageЯ воспользовался ими и сделал свой вариант простого распознавателя semacode, скачать который можно, как всегда, из файлового архива. Мидлет протестирован на телефоне Siemens C75, должен работать на всех телефонах, поддерживающих Java MIDP 2.0 и имеющих видеокамеру. Мидлет не позволяет открыть URL в браузере, я такой цели не ставил. Это просто демонстрация возможностей. Кстати, он почти вдвое меньше по размеру, чем "фирменный".

При работе с распознавателем semacode (как моим, так и фирменным), следует пользоваться следующими простейшими правилами: необходимо стремиться к тому, чтобы semacode занимал как можно большую площадь изображения, но при этом обязательно помещался целиком, не пересекая границы. Кроме того, изображение semacode должно быть в центре снимка. Кстати, вовсе не обязательно стремиться "выровнять" квадратик semacode, он нормально распознается при небольших наклонах. Даже при повороте на 90 или 180 градусов распознается отлично! На рисунках ниже показаны основные правила фотографирования semacode.

Image  Image 

 правильно

 неправильно

 Image  Image

 правильно

 неправильно

Чтобы протестировать принцип semacode, в можно воспользоваться простейшим генератором. Этот генератор построен на найденных в сети бесплатных php-скриптах, которые вы так же можете скачать из моего файлового архива.

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

 

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

Если тема вам интересна - форум к вашим услугам! Подмигивающий


Добавить в любимые (0) | Просмотров: 16774

  Коментарии (3)
 1 Написал(а) Dark-Fox, в 15:59 25.05.2009
Доброго времени суток. Semacode можно использовать не только для мобильных телефонов, например я много раз видел что этот код используется производителями процесоров напр. AMD, они наносят его на защитную металическую крышку, также фирма ATI наносит semacode прямо на кристал полупроводника графического процесора. Так что это отличная идея короткой шифровки изделий в промышленных целях, особенно на конвеерном производстве чего либо (если обычного штрих кода уже нехватает). Вобщем это способ шифровки который понятен машинам, например беспелотная машина может двигаться по дороге, следуя правилам дорожного движения, причем на дорожных знаках нанести semacode с помощью которого будет записан угол поворота(если нужно поворачивать), ограничение скорости, и тд. Применений множество где используются компьютеризированые и роботоризированые установки.
 2 Написал(а) Григорий, в 17:24 04.04.2011
Добрый день! Давно ищу единомышленников по этой теме. Можно ли с автором статьи связаться по аське? Если интересно, напишите мне на почтовый ящик.
 3 Написал(а) ARV, в 17:24 04.04.2011
моя аська указана в разделе для начинающих - можете обращаться, если будет необходимость.

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

 
Полезные материалы по сходным темам
BannerFans.com