Детектирование объектов с помощью особенностей в OpenCV: FREAK. Детектирование множества объектов.

Детектирование объектов с помощью SURF было ранее описано здесь. В этой статье использован C++ интерфейс, FREAK и детектирование множества объектов. Надежность детектирования объектов с помощью FREAK ниже, чем SURF, однако его работа намного быстрее, что позволяет использовать алгоритм на мобильных и встроенных системах. Пример работы представлен на рисунке:

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


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

Super Resolution OpenCV: проблема усиления разрешения (суперразрешение)

Основные теоретические моменты, на которых базируются реализованные в OpenCV функции, описаны в работах [1,2]. Основная суть проблемы показана в работе [1]. Есть две копии изображения различного качества:



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

Шумоподавление на изображениях в OpenCV

В OpenCV существует несколько функций для шумоподавления на изображениях. Шумоподавление используется во многих алгоритмах и не только для обработки фотографий, но и для предварительной обработки в реальном времени. Хотя реализованные в OpenCV функции несколько тяжеловесны. Для тестов возьмем следующее изображение:



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

iANPR - SDK для распознавания автомобильных номеров


Вышла первая бета-версия SDK для распознавания автомобильных номеров. При возникновения ошибок, некорректного распознавания и т.п. обращайтесь на support@intbusoft.com, указав настройки алгоритма, которые вы используете и приложив изображение, с которым возникают проблемы.
iANPR SDK – это комплект средств разработки для распознавания автомобильных номеров. Основная цель – обеспечить автоматизированное распознавание автомобильных номеров на основе библиотеки компьютерного зрения OpenCV. Возможности библиотеки включают обработку изображений в формате OpenCV и выдачу результата распознавания: автомобильные номера, попавшие в кадр и их координаты. Количество номеров не ограничено. Интерфейс работы с библиотекой может быть изменен по желанию заказчика. Первая бета-версия библиотеки поддерживает распознавания базовых российских номеров. На странице продукта вы можете скачать демо-версию библиотеки, которая искусственно замедлена и не предназначена для использования в коммерческих целях. Если вам необходима версия для распознавания номеров другого типа – обращайтесь к нам.
http://intbusoft.com/rus/products/iANPR/

LiveCD linux дистрибутив для работы с opencv

За исходный дистрибутив был взят Mint 15 (x86).
Данный способ подойдет многим deb дистрибутивам.


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

EmguCV и OpenCV – Вызов в C# функций Dll C++

Иногда возникает необходимость использовать и EmguCV проект и OpenCV совместно. Например, у вас есть распространяемая библиотека связанная с OpenCV, а разработчик пишет программу на C# с EmguCV.
Пусть у нас есть C++ библиотека (возьмем распознавание DataMatrix капельных кодов) с определенной выходной функцией:
#pragma once

#include "opencv2/core/core_c.h"
#include "opencv2/imgproc/imgproc_c.h"

int 
#ifdef WIN32
__stdcall 
#endif
DataMatrixDripReader( int* Img_, char* out_buf, int size_buf )
{
	IplImage* Img = (IplImage*) Img_;
	…

Рассмотрим процесс подключения данной функции в C# с EmguCV. Для того, чтобы подключить библиотеку нам понадобится использовать:
using System.Runtime.InteropServices;



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

Industrial DataMatrix Reader

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

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

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



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

Tesseract-Ocr и OpenCV

В предыдущем посте http://recog.ru/blog/tesseract-ocr/191.html приведен базовый пример работы с Tesseract-Ocr. Модифицируем его таким образом, чтобы работать с OpenCV картинками.
#include <baseapi.h>
#include <allheaders.h>
#include "opencv2/core/core_c.h"
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/highgui/highgui_c.h"

int main() {

        tesseract::TessBaseAPI *myOCR = 
                new tesseract::TessBaseAPI();

		printf("Tesseract-ocr version: %s\n",
               myOCR->Version());
        printf("Leptonica version: %s\n",
               getLeptonicaVersion());


        if (myOCR->Init(NULL, "rus")) {
          fprintf(stderr, "Could not initialize tesseract.\n");
          exit(1);
        }
        
		IplImage* Image = cvLoadImage( "test.tif" );		
		char outText[10000];
		myOCR->SetImage( (uchar*)Image->imageData, Image->width, Image->height, Image->nChannels, Image->widthStep );
		myOCR->Recognize(0);		        
		
		lstrcpy( outText, myOCR->GetUTF8Text() );		
        printf( "OCR output:\n\n");
        printf(outText);
        
        myOCR->Clear();
        myOCR->End();        

		cvReleaseImage( &Image );
        return 0;
}



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

Tesseract-Ocr в Visual Studio - распознаем страницу текста

tesseract-ocr — свободная библиотека для распознавания текста. Для того, чтобы ее подключить необходимо скачать следующие компоненты:
Leptonica — http://code.google.com/p/leptonica/downloads/detail?name=leptonica-1.68-win32-lib-include-dirs.zip
Последнюю версию tesseract-ocr (на данный момент 3.02 ) — https://code.google.com/p/tesseract-ocr/downloads/detail?name=tesseract-3.02.02-win32-lib-include-dirs.zip&can=2&q=
Данные обучения русскому языку — https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.rus.tar.gz
Все можно собирать самостоятельно, скачав исходные коды, но мы этим заниматься не будем.

Создав новый проект, подключаем пути до lib и h файлов. И пишем простенький код.


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