コード例 #1
0
void Video2Log::generateLogFromVideoFile()
{
  cv::VideoCapture capture(path);

  while(capture.isOpened())
  {
    cv::Mat matImgOrig;
    capture >> matImgOrig;

    if(matImgOrig.rows == 0)
    {
      break;
    }
    logImage(matImgOrig);
  }
}
コード例 #2
0
ファイル: ucamrad.cpp プロジェクト: savnik/LaserNavigation
bool UCamRad::getImageSnapshot(UImage * image) //, bool remRadErr)
{
  bool result = true;
  //
  if (not dev->isCameraOpen())
    result = dev->openDeviceDefault();
  if (result)
  {
    result = dev->getImageSnapshot(image); //, remRadErr);
    if (image != NULL)
    { // save for later replay
      if (result)
        // log just captured image if log is open
        logImage(image);
    }
  }
  return result;
}
コード例 #3
0
void Video2Log::generateLogFromImageDir()
{
  GDir* dir = g_dir_open(path.c_str(), 0, NULL);
  if(dir != NULL)
  {
    const gchar* name;
    while ((name = g_dir_read_name(dir)) != NULL)
    {
      std::string completeFileName = path + "/" + name;
      if (g_file_test(completeFileName.c_str(), G_FILE_TEST_IS_REGULAR))
      {
        std::cout << "adding \"" << completeFileName << "\"" << std::endl;
        cv::Mat matImgOrig = cv::imread(completeFileName);
        logImage(matImgOrig);
      }
    }
    g_dir_close(dir);
  }
}
コード例 #4
0
  //static
  void GradientsHdrComposition::hdrCompositionProcessImage(
							   imageType_t const & rImage_p,
							   int imageNum_p,
							   realType_t dBias_p,
							   realType_t dBlackPoint_p,
							   int32 shrinkCount_p,
							   imageType_t &rSumImageDx_p,
							   imageType_t &rSumImageDy_p,
							   numImageType_t &rDxImage_p,
							   numImageType_t &rDyImage_p)
  {
#ifdef DEBUG
    int const nCols=rImage_p.Width();
    int const nRows=rImage_p.Height();
    int const nChannels=rImage_p.NumberOfChannels();
#endif
    Assert(nCols==rSumImageDx_p.Width()+1);
    Assert(nRows==rSumImageDx_p.Height());
    Assert(nChannels==rSumImageDx_p.NumberOfChannels());

    Assert(nCols==rSumImageDy_p.Width());
    Assert(nRows==rSumImageDy_p.Height()+1);
    Assert(nChannels==rSumImageDy_p.NumberOfChannels());

    Assert(nCols==rDxImage_p.Width());
    Assert(nRows==rDxImage_p.Height());
    Assert(nChannels==rDxImage_p.NumberOfChannels());

    Assert(nCols==rDyImage_p.Width());
    Assert(nRows==rDyImage_p.Height());
    Assert(nChannels==rDyImage_p.NumberOfChannels());

    Assert(shrinkCount_p>=0);
    Assert(dBlackPoint_p>=0.0);

    TimeMessage startAddImage("Adding image to data");

    TimeMessage startBiasImage("Applying bias()");
    imageType_t loggedImage=rImage_p;
    loggedImage.ResetSelections();
    loggedImage-=dBias_p;
    startBiasImage.Stop();

    TimeMessage startLogImage("Applying log()");
    logImage(loggedImage,loggedImage);
    startLogImage.Stop();

    // binarize image to find where background is.
    // actual image is then eroded by shrinkCount to make sure
    // that no aliased pixels are part of the image
    weightImageType_t maskImage;
    TimeMessage startBinarize("Binarize Image");
    binarizeImage(rImage_p,dBlackPoint_p,maskImage);
    TimeMessage startShrink("Shrinking mask");
    erodeMask(maskImage,shrinkCount_p);
    startShrink.Stop();

    TimeMessage startAddGradients("Adding gradients data");
    addToImage(loggedImage,imageNum_p,maskImage,rSumImageDx_p,rSumImageDy_p,rDxImage_p,rDyImage_p);
    startAddGradients.Stop();
  }