Understanding Snake



我正在尝试制作一个Snake Active Contour程序,我一直在查看不同的网站,这些网站显示了他们如何对蛇进行编程,但没有一个解释什么是CV_VALUE或系数用法以及他们如何初始化它。

这里有一些我正在处理的代码,但我不知道问题是什么。

void snake(Mat copy){
  threshold(copy, copy, 170, 255, CV_THRESH_BINARY);
  float alpha = 0.1; //Continuity snake
  float beta = 0.5;  //Curvature snake
  float gamma = 0.4; //Movement snake
  //Have to be odd
  CvSize size;
  size.width = 5; 
  size.height = 5;
  CvTermCriteria criteria;
  criteria.type = CV_TERMCRIT_ITER;
  criteria.max_iter = 10000;
  criteria.epsilon = 0.1;
  int cpt = 40;
  CvPoint pointsArray[5];
  pointsArray[0].x = 0;
  pointsArray[0].y = 95;
  pointsArray[1].x = 5;
  pointsArray[1].y = 95;
  pointsArray[2].x = 10;
  pointsArray[2].y = 95;
  pointsArray[3].x = 15;
  pointsArray[3].y = 95;
  pointsArray[4].x = 20;
  pointsArray[4].y = 95;
  //The Code (image, points, length, alpha (consistency), beta (curve), gamma (movement), coefficient Usage, win, criteria, calcGradient)
  cvSnakeImage(copy, pointsArray, cpt, &alpha, &beta, &gamma, CV_VALUE, size,criteria, 0);
}
  • CV_VALUE 表示 alpha、beta、gamma 中的每一个都是指向用于所有点的单个值;

  • CV_ARRAY 表示 alpha、beta、gamma 中的每一个都是指向蛇的所有点的系数数组都不同。都数组的大小必须等于轮廓大小。

相关内容

  • 没有找到相关文章

最新更新