LSD - 线段检测器/ Android?

时间:2013-03-19 20:11:59

标签: android line segment

LSD是线性时间线段检测器,可提供亚像素精确结果。它可以在没有参数调整的情况下处理任何数字图像。它控制自己的错误检测次数:平均每个图像允许一次误报。 该软件包包含一个小例子,

我可以在android上工作吗?如果我能,那么正确的方法是什么?

#include <stdio.h>
#include "lsd.h"

int main(void)
{
  image_double image;
  ntuple_list out;
  unsigned int x,y,i,j;
  unsigned int X = 512;  /* x image size */
  unsigned int Y = 512;  /* y image size */

  /* create a simple image: left half black, right half gray */
  image = new_image_double(X,Y);
  for(x=0;x<X;x++)
    for(y=0;y<Y;y++)
      image->data[ x + y * image->xsize ] = x<X/2 ? 0.0 : 64.0; /* image(x,y) */
      IplImage* imgInTmp = cvLoadImage("C:\Documents and Settings\Eslam farag\My Documents\Visual Studio 2008\Projects\line\hand.JPEG", 0);

  /* call LSD */

  out = lsd(image);

  /* print output */
  printf("%u line segments found:\n",out->size);
  for(i=0;i<out->size;i++)
    {
      for(j=0;j<out->dim;j++)
        printf("%f ",out->values[ i * out->dim + j ]);
      printf("\n");
    }

  /* free memory */
  free_image_double(image);
  free_ntuple_list(out);

  return 0;
}

谢谢:)

1 个答案:

答案 0 :(得分:0)

我认为如果你使用c或c ++开发你的apk,那么你只需要包含lsd.h,它的源文件lsd.cpp然后你必须简单地将参数传递给那个线段探测器就足够了。但是如果你使用java为你的apk,那么你必须做很多修改,或者你必须将它转换为java类,或者你必须找到另一种方法将它包含在你的项目中。