Рейтинг
+1.13
голосов:
1
avatar

Прикладные вопросы распознавания образов  

DataMatrix Windows FREE Reader

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

Cкачать здесь:
http://intbusoft.com/download/products/DataMatrixReader.exe

Распознавание и слежение за знаком скорости

Распознавание знака скорости и слежение за ним. Все выполняется довольно быстро — на 1 ядре процессора AMD FX(tm)-6100 Six-Core выделенная зона распознается за 0.017с. (полное FullHD изображение где-то в среднем на одном ядре за 0.032с — но анализ всего изображения не нужен. Достаточно распознавать указанную область).

Детектирование логотипов

Часто в Интернете встречаются задачи распознавания тех или иных логотипов. Какого-то готового решения для всех случаев жизни не существует. А множество разработчиков полагают, что, обучив каскады Хаара с признаками Виолы-Джонса (или чего-то иного), они получат хороший результат. Мало этого — не получив достаточного качества, они тем не менее навязывают данный подход другим разработчикам — вроде как: «Доделайте то, что я начинал делать». Конечно, обучаемые системы распознавания образов — это хорошо и правильно. Однако прежде всего нужно посмотреть, а какие признаки используются для обучения. Возможно по ним никак не распознать логотипы данного типа с высокой достоверностью и скоростью распознавания. Поэтому возникла идея сделать простейшую библиотеку распознавания логотипов.


( Читать дальше )

Делаем программу распознавания автомобильных номеров с IP камер на основе iANPR SDK, OpenCV и Windows Forms за 3 часа

Готовые системы распознавания автомобильных номеров могут быть достаточно дорогими, при этом качество распознавания не гарантируется на высоком уровне. Бывают случаи, когда, купив систему распознавания автомобильных номеров, пользователь обнаруживает, что она работает не достаточно достоверно. При использовании iANPR SDK (http://intbusoft.com/rus/products/iANPR/) вы можете сами спроектировать систему распознавания за очень короткое время и убедиться в качественности работы. Кто может использовать iANPR SDK? В принципе любая компания, которой по тем или иным причинам желает использовать распознавание автомобильных номеров. Однако, среди них можно выделить 2 большие группы по целям использования:
1) для автоматизации въезда на территорию компании – нет нужды покупать дорогостоящее программное обеспечение, которое не удовлетворяет всем потребностям, когда можно купить лицензию iANPR RUS PRO LIMITED за 9950 рублей и сделать все, что нужно самостоятельно, если в компании есть программист;
2) для использования в собственной распространяемой системе видеонаблюдения – конечно, при разработке собственного программного продукта приоритетно все модули разрабатывать самому, однако разработка надежной системы распознавания автомобильных номеров не является тривиальной задачей, и на неё требуются не только высококвалифицированные специалисты с высокой заработной платой, но и месяцы разработки-тестирования. В этом случае покупка лицензии iANPR RUS PRO FULL за 50000 рублей на начальном этапе позволит вам сразу же ввести функцию распознавания автомобильных номеров в вашу систему, что является сравнительно небольшими затратами.
В данной статье будет показано как, использую iANPR SDK, IP камеру, OpenCV и Windows Forms за 3 часа сделать простое приложение для распознавания автомобильных номеров. В конце разработки будет получено приложение следующего вида:



( Читать дальше )
  • 0
  • 18 января 2014, 11:36
  • vidikon
  • 2

Распознавание автомобильных номеров (iANPR SDK)

Сейчас, пока идет разработка и тестирование SDK для распознавания автомобильных номеров iANPR, решил поделиться с некоторыми предварительными результатами. Первоначальная версия SDK рассчитана на стандартные российские номера. Библиотека работает на базе OpenCV. Тестируется версия под Windows, но потом возможна поддержка и других операционных систем.



( Читать дальше )

Особенности программирования систем распознавания образов реального времени

Системы распознавания образов (СРО) на настоящий момент находят все больше применения в промышленности, торговле, бизнесе и повседневной жизни. Огромное число компаний связывают свою деятельность с разработкой СРО реального времени (РВ) для персональных компьютеров, серверов, мобильных платформ и онлайн-сервисов. Большое количество отечественных и зарубежных ученых разрабатывают новые алгоритмы распознавания РВ, применяя при этом современные языки и среды программирования, зачастую не обращая внимания на тот факт, что система РВ – это прежде всего предсказуемая система. Поэтому в данной работе предлагается подход к программированию СРО РВ на языке C/C++ на платформе Windows XP/7.
В настоящее время при разработке сложных СРО РВ часто используют программную библиотеку OpenCV (opencv.willowgarage.com), которая может функционировать на различных платформах и операционных системах. Множество задач связано с обработкой видеопотоков, например, с web-камеры. В этом случае программный код библиотеки OpenCV выглядит следующим образом:
#include "opencv2/core/core_c.h"
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/highgui/highgui_c.h"
int main(int argc, char** argv){
	CvCapture* capture = cvCaptureFromCAM(0);
	cvNamedWindow( "Camera", 1 );
	IplImage* frame=0;
	do{
		frame = cvQueryFrame(capture );
		…<Какая-либо функция распознавания>
		cvShowImage( "Camera", frame);
		if (cvWaitKey( 20 ) == 32 ) break;
	}while ( 1 );
	cvReleaseCapture(&capture);
	return 0;
}

Однако здесь возникают вопросы: Как контролировать время выполнения функции распознавания? Что делать, если модуль распознавания образов ненадежен – а это часто бывает из-за высокой сложности алгоритмов распознавания. В этом случае можно использовать подход к выбору структуры СРО РВ, описанный в работе [Кручинин, А.Ю. Особенности разработки программных систем распознавания образов реального времени / А.Ю. Кручинин // Автоматизация в промышленности. – 2011. — №7. – С. 53-56.].


( Читать дальше )

Цветовая сегментация изображений

Технология цветовой сегментации известна достаточно давно и описана во всех учебниках. Рассмотрим на примере метода «чистого» цвета, описанного здесь. Для того, чтобы делать сегментацию – построим карту цветов. Поскольку используем только два цвета, а яркость в расчет не берем, то у нас получается двумерная карта цвета, которую можно представить, например, в виде изображения 256 на 256 пикселей. Карту цвета построим таким образом:
for(i=0;i<img->height;i++)
	  for(j=0;j<img->width;j++)
	  {
		   k=(ptr[i*img->widthStep+j*3]+ptr[i*img->widthStep+j*3+1]+ptr[i*img->widthStep+j*3+2]);
		   if (k!=0) Color1_=int((double)256*ptr[i*img->widthStep+j*3]/k);
		   else Color1_ = 0;
		   if (Color1_>255) Color1_=255;			   
		   if (k!=0) Color2_=int((double)256*ptr[i*img->widthStep+j*3+1]/k);
		   else Color2_ = 0;
		   if (Color2_>255) Color2_=255;
		   m[Color2_+Color1_*256]++;
	  }

И выведем все это на изображение.
for(i=0;i<256;i++)
	  for(j=0;j<256;j++)
	  {
		   k=int((double)256*sqrt(sqrt((double)m[i*256+j]/max)));
		   if (k>255) k=255;
		   //if (m[i*256+j]>0) k = 255;
		   ptr2[i*Gray->widthStep+j]=k;
	  }



( Читать дальше )

Автоматическая внешняя калибровка камер на основе анализа траекторий движений объектов

1. Введение. Всеобщей тенденцией в развитии систем видеонаблюдения является разработка алгоритмов трекинга (слежения за объектами), которые очень важны в местах скопления людей и автомобилей, таких, как аэропорты, улицы города, автопарковки и т.д. Важным вопросом при проектировании алгоритмов трекинга является внешняя калибровка камер, т.е. определение под каким углом расположены камеры в реальном пространстве. Вопросам внешней калибровки камер, уделено внимание в некоторых публикациях, например, в [1, 2]. В ряде публикаций освещены подходы к внешней калибровки камер по входному изображению и известной геометрии рассматриваемых объектов с выделением проблем: PnP, PnL, PnA [3]. Однако данные подходы невозможно использовать для автоматической внешней калибровки камер, когда направления камер определяются по мере поступления данных из окружающего мира. В данной работе предлагается подход к автоматической внешней калибровке камер, в котором участие человека сводится к минимуму.
В большинстве случаев примерное расположение (координаты) камер в пространстве известно. Приняв к сведению эту информацию, можно значительно упростить калибровку камер. Пользователям систем видеонаблюдения хотелось бы, чтобы внешняя калибровка осуществлялась автоматически, например, в процессе того, как какие-либо объекты перемещались внутри системы, а система видеонаблюдения сама корректировала и определяла направления камер.

2. Постановка задачи. Есть N > 1 камер с известными координатами в пространстве (здесь и далее будем понимать под координатами, только координаты X и Y без высоты). Камеры работают в приблизительно одинаковых режимах: частота кадров, разрешение. Области зрения M камер (2 ≤ M ≤ N) пересекаются друг с другом, например, попарно. В областях зрения камер происходит перемещение объектов, причем в системе видеонаблюдения может находиться несколько объектов. Необходимо определить углы поворота максимально возможного количества камер. На вход поступают видеопотоки с камер и их координаты в пространстве. На выходе должен быть такой результат калибровки, что для каждой камеры присутствует следующая информация:
• наиболее вероятный угол поворота (или неопределенный);
• наличие пересечений области зрения камеры с областями зрения других камер;
• возможные переходы объектов из области зрения камеры в области зрения других камер.


( Читать дальше )

4 битные маркеры Aztec Marker

4 битные маркеры Aztec Marker обладают повышенной надежностью за счет увеличенного количества корректировочных слов Рида-Соломона, но позволяют кодировать всего 15 маркеров.
Ниже можно посмотреть ролик распознавания:

Скачать маркеры и программу работающую с Web-камерой можно здесь:
http://intbusoft.com/download/products/AztecMarkerWebCam.zip

Распознавание дорожных знаков (знак ограничения скорости)

Распознавание дорожных знаков является достаточно сложной задачей, если рассматривать распознавание в целом. Однако при рассмотрении отдельных типов знаков значительно упрощается. Здесь будет описан алгоритм распознавания знаков ограничения скорости. Для тестов было использовано 2 изображения.



( Читать дальше )