Библиотека myCV
Функции (описание)
- mycvShowImage (показать изображение на форме) - копирует изображение из объекта IplImage библиотеки OpenCV в объект формы TImage;
- mycvGetImage (взять изображение с формы) - копирует изображение из объекта формы TImage в объект IplImage библиотеки OpenCV;
Файлы библиотеки
myCV.h
<source lang="cpp">
- 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
</source>
myCV.cpp
<source lang="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;
}; </source>