Библиотека myCV — различия между версиями

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
(Файлы библиотеки)
Строка 1: Строка 1:
 +
== Назначение библиотеки ==
 +
 +
Обеспечить удобные интерфейсные функции для связи объектов OpenCV и объектов графического интерфейса Windows.
 +
 
== Функции (описание)==
 
== Функции (описание)==
  

Версия 16:17, 13 января 2008

Назначение библиотеки

Обеспечить удобные интерфейсные функции для связи объектов OpenCV и объектов графического интерфейса Windows.

Функции (описание)

  • mycvShowImage (показать изображение на форме) - копирует изображение из объекта IplImage библиотеки OpenCV в объект формы TImage;
  • mycvGetImage (взять изображение с формы) - копирует изображение из объекта формы TImage в объект IplImage библиотеки OpenCV;

Файлы библиотеки

myCV.h

<source lang="cpp">

  1. ifndef myCVH
  2. define myCVH

//---------------------------------------------------------------------------

  1. include "cv.h" // includes OpenCV definitions
  2. include "highgui.h" // includes highGUI definitions
  3. include <ExtCtrls.hpp>

void mycvShowImage(TImage *bimg, IplImage *iimg); void mycvGetImage (TImage *bimg, IplImage *iimg); //---------------------------------------------------------------------------

  1. endif

</source>

myCV.cpp

<source lang="cpp">

  1. pragma hdrstop
  2. include "myCV.h"
  3. 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>