Библиотека myCV
Материал из roboforum.ru Wiki
Содержание |
Назначение библиотеки
Обеспечить удобные интерфейсные функции для связи объектов OpenCV и объектов графического интерфейса Windows.
Функции (описание)
mycvShowImage
Показать изображение на форме. Копирует изображение из объекта IplImage библиотеки OpenCV в объект формы TImage;
mycvGetImage
Взять изображение с формы. Копирует изображение из объекта формы TImage в объект IplImage библиотеки OpenCV;
Файлы библиотеки
myCV.h
#ifndef myCVH #define myCVH //--------------------------------------------------------------------------- #include "cv.h" // includes OpenCV definitions #include "highgui.h" // includes highGUI definitions #include <ExtCtrls.hpp> void mycvShowImage(TImage *bimg, IplImage *iimg); void mycvGetImage (TImage *bimg, IplImage *iimg); //--------------------------------------------------------------------------- #endif
myCV.cpp
#pragma hdrstop #include "myCV.h" #pragma package(smart_init) void mycvGetImage(TImage *bimg, IplImage *iimg){ byte *ptr; long int datastep=iimg->widthStep; long int height=iimg->height; char *rawdata=iimg->imageDataOrigin; for(int y=0; y<height; y++){ ptr = (byte *) bimg->Picture->Bitmap->ScanLine[y]; long int adr=(height-1-y)*datastep; memcpy(rawdata+adr,ptr,datastep); }; }; void mycvShowImage(TImage *bimg, IplImage *iimg){ byte *ptr; long int datastep=iimg->widthStep; long int height=iimg->height; char *rawdata=iimg->imageDataOrigin; for(int y=0; y<height; y++){ ptr = (byte *) bimg->Picture->Bitmap->ScanLine[y]; long int adr=(height-1-y)*datastep; memcpy(ptr,rawdata+adr,datastep); }; bimg->Canvas->Pixels[0][0]=0; };
