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;
}谢谢:)
发布于 2014-03-05 20:36:23
我认为如果你使用c或c++开发你的apk,那么你可以简单地包含lsd.h,它的源文件lsd.cpp,然后你必须简单地将参数传递给那个线段检测器,这就足够了。但是在这种情况下,如果你的apk使用的是java,那么你必须做很多修改,要么你必须将它转换成java类,要么你必须找到一种替代方法来将它包含到你的项目中。
https://stackoverflow.com/questions/15509461
复制相似问题