2013-03-19 6 views
0

LSD - это линейный детектор сегментов линии, дающий подпиксельные точные результаты. Он предназначен для работы с любым цифровым изображением без настройки параметров. Он контролирует собственное количество ложных срабатываний: в среднем на одно изображение допускается одна ложная тревога. В комплект поставки входит небольшой пример:LSD - детектор сегмента линии/Android?

Могу ли я сделать работу в 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; 
} 

спасибо :)

+0

Дополнительная информация о вашей проблеме позволит вам помочь. Что вы пробовали? Какие проблемы вы столкнулись? Лично я даже не слышал об этом детекторе линейного сегмента ... – Goz

+0

это сайт: http://www.ipol.im/pub/art/2012/gjmr-lsd/. И здесь вы можете протестировать код онлайн: http://demo.ipol.im/demo/gjmr_line_segment_detector/. Проблема в том, что мне нужно использовать эту функцию в андроиде apk –

+0

Что происходит, когда вы пытаетесь скомпилировать его под андроид ndk? – Goz

ответ

0

я думаю, что если вы используете С или С ++ для разработки вашего APK, то просто вы можете включить этот lsd.h, его исходный файл lsd.cpp, а затем вы должны просто передать параметров для этого детектора сегмента линии, которого было бы достаточно. Но в случае, если вы используете java для своего apk, тогда вам нужно сделать много изменений, либо вам нужно преобразовать его в классы Java, либо вам нужно найти альтернативный способ включить его в свой проект.

Смежные вопросы