コード例 #1
0
VglSimpleBGModel::~VglSimpleBGModel(){
  vglReleaseImage(&foreground);
  vglReleaseImage(&foregroundClose);
  vglReleaseImage(&background32);
  vglReleaseImage(&variance32);
  vglReleaseImage(&buf);

  if (sobel) vglReleaseImage(&sobel);
  if (color) vglReleaseImage(&color);
  if (grayx) vglReleaseImage(&grayx);
  if (grayy) vglReleaseImage(&grayy);
}
コード例 #2
0
ファイル: vglTiffIo.cpp プロジェクト: ddantas/visiongl
/** Function for loading a stack of 3d TIFF images
  */
VglImage* vglLoad4dTiff(char* filename, int lStart, int lEnd, bool has_mipmap /*=0*/)
{
  char* tempFilename = (char*)malloc(strlen(filename) + 256);
  sprintf(tempFilename, filename, lStart);
  VglImage* tmp = vglLoadTiff(tempFilename);

  int n = lEnd-lStart+1;
  int shape[VGL_MAX_DIM+1];
  shape[0] = tmp->nChannels;
  shape[1] = tmp->getWidth();
  shape[2] = tmp->getHeight();
  shape[3] = tmp->getLength();
  shape[4] = n;

  VglImage* img = vglCreateNdImage(4, shape, tmp->depth);
  //vglPrintImageInfo(img, "4D image");

  int delta = tmp->getTotalSizeInBytes();
  int offset = 0;
  vglReleaseImage(&tmp);
  for(int i = lStart; i <= lEnd; i++)
  {
    sprintf(tempFilename, filename, i);
    printf("filename[%d] = %s\n", i, tempFilename);
    VglImage* tmp = vglLoadTiff(tempFilename);
    memcpy(img->getImageData() + offset, tmp->getImageData(), delta);
    offset += delta;
  }

  vglSetContext(img, VGL_RAM_CONTEXT);

  return img;
}
コード例 #3
0
ファイル: vglTiffIo.cpp プロジェクト: ddantas/visiongl
int vglSave4dTiff(char* filename, VglImage* image, int lStart, int lEnd)
{
  vglCheckContext(image, VGL_RAM_CONTEXT);
  if ( (image->nChannels != 1) && (image->nChannels != 3) )
  {
    fprintf(stderr, "%s: %s: Error: image has %d channels but only 1 or 3 channels supported. Use vglImage4to3Channels function before saving\n", __FILE__, __FUNCTION__, image->nChannels);
    return 1;
  }
  char* temp_filename = (char*)malloc(strlen(filename)+256);
  int c = 0;
  for(int i = lStart; i <= lEnd; i++)
  {
    VglImage* temp_image = vglCreate3dImage(cvSize(image->getWidth(), image->getHeight()), image->depth, image->nChannels, image->getLength());
    temp_image->ndarray = (char*)malloc(temp_image->getTotalSizeInBytes());
    memcpy((char*)temp_image->ndarray,((char*)image->ndarray)+c,temp_image->getTotalSizeInBytes());
    sprintf(temp_filename, filename, i);
    vglSaveTiff(temp_filename, temp_image);
    c += temp_image->getTotalSizeInBytes();
    vglReleaseImage(&temp_image);
  }

  return 0;
}