main.c
//Esta funcion dibuja un segmento lineal sobre
//la imagen de intensidad
Esta funcion dibuja un segmento lineal sobre
la imagen de intensidad
Esta funcion dibuja un segmento lineal sobre la imagen de intensidad
void geoDrawALinealSegmentOnIntensityImage()
    {
        int x, y, i;
        double alfa;
        int xi, yi, xf, yf;
        int height, width;
        xi=p_parametros->xi;
        yi=p_parametros->yi;
        xf=p_parametros->xf;
        yf=p_parametros->yf;
        height=pInputImage->height;
        width=pInputImage->width;
        for (i=0;i<pInputImage->height*pInputImage->width;i++)
            pInputImage->pdrawnLinealSegmentOnIntensity[i]=pInputImage->pintensity[i];
        for (alfa=0.0;alfa<=1.0;alfa=alfa+0.001) {
            x=(int)((double)xi+alfa*((double)xf-(double)xi));
            y=(int)((double)yi+alfa*((double)yf-(double)yi));
            if ((y>=0)&&(x>=0)&&(y<height)&&(x<width)) {
                pInputImage->pdrawnLinealSegmentOnIntensity[y*width+x]=255;
            }
        }
    }
void geoDrawALinealSegmentOnIntensityImage ( ) { int x , y , i ; double alfa ; int xi , yi , xf , yf ; int height , width ; xi = p_parametros -> xi ; yi = p_parametros -> yi ; xf = p_parametros -> xf ; yf = p_parametros -> yf ; height = pInputImage -> height ; width = pInputImage -> width ; for ( i = 0 ; i < pInputImage -> height * pInputImage -> width ; i ++ ) pInputImage -> pdrawnLinealSegmentOnIntensity [ i ] = pInputImage -> pintensity [ i ] ; for ( alfa = 0.0 ; alfa <= 1.0 ; alfa = alfa + 0.001 ) { x = ( int ) ( ( double ) xi + alfa * ( ( double ) xf - ( double ) xi ) ) ; y = ( int ) ( ( double ) yi + alfa * ( ( double ) yf - ( double ) yi ) ) ; if ( ( y >= 0 ) && ( x >= 0 ) && ( y < height ) && ( x < width ) ) { pInputImage -> pdrawnLinealSegmentOnIntensity [ y * width + x ] = 255 ; } } }
Esta funcion dibuja un segmento lineal sobre
la imagen de intensidad
Esta funcion dibuja un segmento lineal sobre la imagen de intensidad
//Copiando la imagen de intensidad en la imagen que contendrá el segmento lineal //Por cada valor del parámetro alfa se calcula un punto usando las ecuaciones //paramétricas de un segmento lineal. Cada punto se pone en 255 (blanco) en la //imagen de salida. Alfa varía entre 0.0 y 1.0 en pasos de GEO_ALFA_STEP. Cuando //alfa en 0.0 se estaría en la posición inicial del segmento y cuando alfa es //1.0 en el punto final del segmento. //x=xi+alfa*(xf-xi) //y=iy+alfa*(fy-iy) //Dibujando el punto (x,y) siempre y cuando no esté fuera de la imagen