Реализация метода главных компонент с помощью библиотеки OpenCV - Программирование, компьютеры и кибернетика статья

Реализация метода главных компонент с помощью библиотеки OpenCV - Программирование, компьютеры и кибернетика статья




































Главная

Программирование, компьютеры и кибернетика
Реализация метода главных компонент с помощью библиотеки OpenCV

Метод главных компонент. Процесс распознавания. Ковариационная матрица, диагональная матрица собственных чисел. Использовании метрики Махаланобиса и Гауссовского распределения для оценки близости изображений. Входные вектора. Библиотека OpenCV.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Министерство образования и науки Российской Федерации
Южно-Уральский государственный университет
Реализация метода главных компонент с помощью библиотеки OpenCV
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
IplImage* (__stdcall *cvLoadImage)( const char* filename, int iscolor);
int (__stdcall *cvSaveImage)( const char* filename, const CvArr* image);
int (__stdcall *cvNamedWindow)( const char* name, int flags );
void (__stdcall *cvShowImage)( const char* name, const CvArr* image );
IplImage* (__stdcall *cvCreateImage_)( CvSize size, int depth, int channels );
double (__stdcall *cvDotProduct_)(const CvArr* src1, const CvArr* src2 );
void (__stdcall *cvMul_)(const CvArr* src1, const CvArr* src2, CvArr* dst, double scale=1 );
void (__stdcall *cvThreshold_)(const CvArr* src, CvArr* dst, double threshold,double max_value, int threshold_type);
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
//---------------------------------------------------------------------------
void show_im(TCanvas*c,IplImage *p)
int a=p->imageDataOrigin[p->widthStep*j+i];
c->Pixels[i][j]=a&0x0000ff|(a<<8)&0x00ff00|(a<<16)&0xff0000;
void pca(int obj_number, IplImage **Objs,CvTermCriteria limit, IplImage *Object,IplImage *Pro)
HINSTANCE hDLL = LoadLibrary("cvaux100.dll");
void (__stdcall *cvCalcEigenObjects)( int nObjects, void* input, void* output, int ioFlags, int ioBufSize, void* userData, CvTermCriteria* calcLimit, IplImage* avg, float* eigVals );
cvCalcEigenObjects = (void(__stdcall *)( int nObjects, void* input, void* output, int ioFlags, int ioBufSize, void* userData, CvTermCriteria* calcLimit, IplImage* avg, float* eigVals ))GetProcAddress(hDLL, "cvCalcEigenObjects");
void (__stdcall *cvEigenDecomposite)( IplImage* obj, int nEigObjs, void* eigInput, int ioFlags, void* userData, IplImage* avg, float* coeffs );
cvEigenDecomposite = (void(__stdcall *)( IplImage* obj, int nEigObjs, void* eigInput, int ioFlags, void* userData, IplImage* avg, float* coeffs ))GetProcAddress(hDLL, "cvEigenDecomposite");
void (__stdcall *cvEigenProjection)( void* eigInput, int nEigObjs, int ioFlags, void* userData, float* coeffs, IplImage* avg, IplImage* proj );
cvEigenProjection = (void(__stdcall *)( void* eigInput, int nEigObjs, int ioFlags, void* userData, float* coeffs, IplImage* avg, IplImage* proj ))GetProcAddress(hDLL, "cvEigenProjection");
size.width = Object->width; size.height = Object->height;
Avg = cvCreateImage_( size, IPL_DEPTH_32F, 1 );
EigObjs[i] = cvCreateImage_( size, IPL_DEPTH_32F, 1 );
cvCalcEigenObjects( obj_number, (void*)Objs, (void*)EigObjs, 0, 0, NULL, &limit, Avg, NULL );
cvEigenDecomposite( Object, m1, (void*)EigObjs, 0, NULL, Avg, coeffs );
cvEigenProjection ( (void*)EigObjs, m1, 0, NULL, coeffs, Avg, Pro );
void __fastcall TForm1::FormCreate(TObject *Sender)
highgui = LoadLibrary("highgui100.dll");
cvLoadImage = (IplImage*(__stdcall *)( const char* filename, int iscolor))GetProcAddress(highgui, "cvLoadImage");
cvSaveImage = (int(__stdcall *)( const char* filename, const CvArr* image))GetProcAddress(highgui, "cvSaveImage");
cvNamedWindow = (int(__stdcall *)( const char* name, int flags ))GetProcAddress(highgui, "cvNamedWindow");
cvShowImage = (void(__stdcall *)( const char* name, const CvArr* image ))GetProcAddress(highgui, "cvShowImage");
cvCreateImage_ = (IplImage*(__stdcall *)( CvSize size, int depth, int channels ))GetProcAddress(cv, "cvCreateImage");
cvDotProduct_ = (double(__stdcall *)( const CvArr* src1, const CvArr* src2))GetProcAddress(cv, "cvDotProduct");
cvMul_ = (void(__stdcall *)( const CvArr* src1, const CvArr* src2, CvArr* dst, double scale=1))GetProcAddress(cv, "cvMul");
cvThreshold_ = (void(__stdcall *)(const CvArr* src, CvArr* dst, double threshold,double max_value, int threshold_type))GetProcAddress(cvaux, "cvThreshold");
Objs[0] = cvLoadImage( ".\\et\\1.bmp", 0);
Objs[1] = cvLoadImage( ".\\et\\2.bmp", 0);
Objs[2] = cvLoadImage( ".\\et\\3.bmp", 0);
Object = cvLoadImage((".\\in\\"+fname).c_str(), 0);
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
size.width = Object->width; size.height = Object->height;
Pro = cvCreateImage_( size, IPL_DEPTH_8U, 1 );
pca(obj_number,Objs,limit,Object,Pro);
cvThreshold_(Pro,Object,200,255,CV_THRESH_BINARY);
e[0]=cvDotProduct_(Object,Objs[0])/cvDotProduct_(Objs[0],Objs[0]);
e[1]=cvDotProduct_(Object,Objs[1])/cvDotProduct_(Objs[1],Objs[1]);
e[2]=cvDotProduct_(Object,Objs[2])/cvDotProduct_(Objs[2],Objs[2]);
Label1->Caption=FloatToStr(int(e[0]*1000)/1000.);
Label2->Caption=FloatToStr(int(e[1]*1000)/1000.);
Label3->Caption=FloatToStr(int(e[2]*1000)/1000.);
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1Click(TObject *Sender)
Objs[0] = cvLoadImage(OpenPictureDialog1->FileName.c_str(), 0);
//---------------------------------------------------------------------------
void __fastcall TForm1::Image2Click(TObject *Sender)
Objs[1] = cvLoadImage(OpenPictureDialog1->FileName.c_str(), 0);
//---------------------------------------------------------------------------
void __fastcall TForm1::Image3Click(TObject *Sender)
Objs[2] = cvLoadImage(OpenPictureDialog1->FileName.c_str(), 0);
//---------------------------------------------------------------------------
void __fastcall TForm1::Image4Click(TObject *Sender)
Object = cvLoadImage(OpenPictureDialog1->FileName.c_str(), 0);
//---------------------------------------------------------------------------
OpenCV – библиотека компьютерного зрения с открытым исходным кодом, предоставляющая набор типов данных, функций и численных алгоритмов для обработки изображений. Ее реализация на C/C++. Цели использования технологии. Основные модули библиотек 1-3. презентация [121,8 K], добавлен 14.12.2013
Анализ основных аспектов технологии компьютерного зрения, необходимых для выполнения работы. Изучение характеристик библиотеки OpenCV, оценка актуальности работы по распознаванию жестов рук. Поэтапный отчет о работе над программным обеспечением. курсовая работа [669,9 K], добавлен 20.05.2017
Анализ существующих проблем и обзор библиотеки обработки изображений и алгоритмов общего назначения OpenCV. Особенности разработки и детальный анализ требований к программе. Основная логика ее работы и реализация. Трекинг лица и объекта по цвету. дипломная работа [1,3 M], добавлен 26.06.2017
Расчет матрицы по заданной формуле. Формирование вектора по алгоритму, построение его вектора. Структура окна С++. Свойства события компонент С++, которые использовались для реализации задачи. Структуры программирования. Блок-схемы алгоритмов подпрограмм. курсовая работа [602,7 K], добавлен 26.06.2016
Разработка компоненты для математических вычислений (операций над матрицами) с использованием технологии OpenGL (сложение, вычитание, умножение, транспонирование, определитель, обратная матрица). Базовые навыки по работе с технологией в среде .Net. курсовая работа [365,6 K], добавлен 17.02.2015
Обзор разнообразных методов теории линейных систем: методов корреляционного и регрессионного анализа, косинор-анализа. Особенности применения факторного анализа. Программная реализация метода главных компонент. Разработка нелинейных регрессионных моделей. дипломная работа [390,2 K], добавлен 03.09.2016
Создание приложения на языке C Windows Form. Характеристика особенностей интерфейса GDI+. Композиция преобразований. Матрица A, поворот на 90 градусов. Матрица B, масштабирование по оси X с коэффициентом 2. Матрица C, сдвиг на три единицы по оси Y. лабораторная работа [88,8 K], добавлен 12.06.2015
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Реализация метода главных компонент с помощью библиотеки OpenCV статья. Программирование, компьютеры и кибернетика.
Курсовая работа по теме Организация питания студентов вузов и колледжей и пути ее совершенствования
Реферат: Основные методы социологического опроса
Реферат по теме Функції Верховної Ради та Кабінету Міністрів
Теория Пределов Реферат
Курсовая Работа На Тему Макроэкономическая Политика России
Сочинение На Тему Мой Самый Страшный Сон
Реферат: Средства коллективной и индивидуальной защиты при выполнении строительно-монтажных работ
Алматы Эссе На Русском
Курсовая работа: Мазепа
Курсовая работа: Фотодокументирование
Реферат: Второе сражение при Кернстауне
Реферат: Ламберт, Карл Осипович
Яковлев Сочинение Огэ
Сочинение Описание Храма Блаженного 8 Класс
Сочинение На Тему Страна Моей Мечты
Как Любовь Изменила Базарова Сочинение
Происхождение Строение И Значение Фразеологизмов Реферат
Учебное пособие: Пять нерешенных проблем науки Артур Уиггинс Чарльз Уинн
Чацкий Как Выразитель Декабристских Идей Краткое Сочинение
Реферат Понятие Экологического Права
Отряд совообразные - Биология и естествознание презентация
Современные западные теории менеджмента - Менеджмент и трудовые отношения реферат
Нарушения словоизменения и их коррекция у дошкольников с общим недоразвитием речи III уровня - Иностранные языки и языкознание дипломная работа


Report Page