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

ВНИМАНИЕ! БЛОГ ПЕРЕЕХАЛ ПО АДРЕСУ
RECOG.RU

31 Август 2010

Тестирование стереозрения на 3D модели 2

написано в рубрике: Стереозрение — Кручинин Александр @ 2:31 ПП

Данный ролик показывает пример работы алгоритмов стереозрения на 3D модели. Осуществляется слежение за шаром.

Большое окно – сцена:

Левая и правая камеры – могут находится как на шаре, так и фиксировано на одной из стен.

Снизу окошко “Out” показывает место где определяется местоположение шара при помощи стереозрения на сцене.

По-сравнению с версией http://blog.vidikon.com/?p=342 изменени положение камер для покрытия почти всей сцены, добавлены области видимости камер и увеличено результирующее окно “Out”.

Если вам не нравится качество youtube, то можете скачать ролик отсюда:

http://vidikon.com/download/modelstereovison.avi

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

23 Август 2010

ImageMagic – что это?

написано в рубрике: Другие библиотеки — Кручинин Александр @ 8:34 ПП

Согласно Википедии, ImageMagick — свободный и многоплатформенный пакет программ для неинтерактивной (пакетной) обработки графических файлов. Поддерживает множество графических форматов, выпущен под лицензией ImageMagick (разновидность лицензии BSD, совместима с GPL). Может использоваться с языками Perl, C, C++, Python, Ruby, PHP, Pascal, Java, в скриптах командной оболочки или самостоятельно.

Сразу читаем лицензию. Разрешено: бесплатная загрузка и использования как в личных, так и коммерческих целях; использование библиотеки в своих пакетах и расширениях. Запрещено: распространять всю библиотеку или её часть без надлежащего уведомления; использовать в любые марки, связанные с ImageMagick Studio LLC. Требования: включение копии лицензии в любые продукты, построенные на базе ImageMagick; уведомлять пользователя о том, что вы используете продукт ImageMagick Studio LLC – просто где-нибудь сослаться. Что не требуется: включение того, что вы разработали к ImageMagick; регистрировать какие-либо изменения ImageMagick. Надеюсь я всё правильно понял, если нет, то вы можете посмотреть лицензию на английском здесь:

http://www.imagemagick.org/script/license.php

Лицензия достаточно «хорошая», но что может данная библиотека? Как говорят сами разработчики библиотеки, это только несколько примеров того, что может библиотека.

Преобразование форматов: конвертирование изображений из одного формата в другой (PNG, JPEG).

Трансформация: изменение размеров, поворот, обрезание и т.п.

Прозрачность: можно сделать некоторые части изображения прозрачными.

Рисование различных фигур и текста.

Декорации: добавление границ и рамок к изображению.

Специальные эффекты: блик, монохромное изображение, оттенок и т.д.

Калькулятор изображения: применение математического выражения к изображению или каналу изображения.

Добавление текста и комментариев к изображению.

Идентификация изображения: получение формата и признаков.

Анимация – создание GIF файлов.

Наложение одного изображения на другое.

Монтаж.

Поддержка больших изображений.

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

http://code.google.com/p/zxing/

21 Август 2010

Aztec_2.dll Версия 1.000

написано в рубрике: Распознавание 2D штрих-кодов — Кручинин Александр @ 10:11 ДП

Библиотека DLL для программы 2D Barcode Recognizer, предоставляющая полную возможность по распознаванию Aztec кода без символов “$$” в результирующем декодировании. Поддерживает только распознавание. Распознавание стандартных уровней 1-11. Поддерживается Small Aztec. Не поддерживается FNC1. Для инсталляции скопируйте библиотеку в каталог DLL текущей директории бесплатной программы 2D Barcode Recognizer.

http://2dbarcode.vidikon.com/index.php?Lang=ru&Page=azt_2

18 Август 2010

Тестирование стереозрения на 3D модели

написано в рубрике: Стереозрение — Кручинин Александр @ 8:38 ПП

Данный ролик показывает пример работы алгоритмов стереозрения на 3D модели. Осуществляется слежение за шаром.

Большое окно – сцена:

Левая и правая камеры – могут находится как на шаре, так и фиксировано на одной из стен.

Снизу окошко “Out”  показывает место где определяется местоположение шара при помощи стереозрения на сцене.

Работают одновременно 3 программы.

Если вам не нравится качество youtube, то можете скачать ролик отсюда:

http://vidikon.com/download/capture-1.avi

10 Август 2010

ImagePak: использование для распознавания текста

написано в рубрике: ImagePak — Кручинин Александр @ 5:11 ПП

Функции библиотеки можно использовать для распознавания текста следующим образом. Пусть имеется цифра (или буква алфавита).

ImagePak3_1 

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

 

#include “imagepak.h”

 

int main(int argc, char* argv[])

{

      IMG Img;

      //открываем файл

      Img=OpenGraphFile(”Img1.bmp”);

 

      IMG Img8=Img24To8(Img);

 

      //Переводим в монохром

      RECT Rect;

      Rect.left=0;

      Rect.top=0;

      Rect.bottom=Img8.Height-1;

      Rect.right=Img8.Width-1;

 

      ThresholdImage(Img8,128,Rect);

 

      //Выделяем границы

 

      AllocationBordersRect(Img8,Rect,ALLOCATE_WHITE);

 

      //Ищем контуры

      CONTOUR Contour;

      Contour.Find(Img8,Rect,128,CONTOUR_AUTO_INOUT);           

      int all=Contour.ReturnAllContours();

 

      int i,j,k;

      if (all>0)

      {          

            Contour.ReturnMaxLevel(i,j,k);

            //Для этого контура смотрим границы в которых он находится и определяем сетку

            //Схитрим, т.к. знаем что цифра вертикальна

            RECT Rect1=Contour.ReturnRectContour(j);

            //Выводим контур на экран

            DrawRect(Img,Rect1,0,255,0);

            //Создаём объект сетки

            GRID Grid(7,7);//Выбрали сетку 7 на 7

            FOUR_FIG_Pd pp;//Заданный прямоугольник

            pp.p[0].x=Rect1.left;

            pp.p[0].y=Rect1.top;

            pp.p[1].x=Rect1.right;

            pp.p[1].y=Rect1.bottom;

            pp.p[2].x=Rect1.right;

            pp.p[2].y=Rect1.top;

            pp.p[3].x=Rect1.left;

            pp.p[3].y=Rect1.bottom;

            //Создание сетки

            Grid.CreateGrid(pp);

            //Распознавание ячеек

            Grid.RecogCells(Img8

#ifdef ON_DEBUG

      ,Img

#endif

                                   );

 

 

      }

 

      SaveDF(”Img_out.bmp”,Img);

 

      //Ищем контуры

 

      DeleteByte(Img.bytes);

      DeleteByte(Img8.bytes);

 

      return 0;

}

 

Заметьте, что для вывода на экран сетки необходимо откомпилировать всю библиотеку в режиме ON_DEBUG. В этом случае можно посмотреть результат:

ImagePak3_2

Старые записи »

Работает на WordPress