Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo establecer el umbral en el operador sobel

Cómo establecer el umbral en el operador sobel

El umbral del operador sobel se refiere al grad=fx fy obtenido después del cálculo de la derivada parcial de cada píxel. El borde se obtiene mediante la segmentación del umbral de grad.

Dado que el peso se agrega al operador sobel, el resultado será un borde más ancho.

fx=abs(Datos[i 1][j-1] 2*Datos[i 1][j] Datos[i 1][j 1]-Datos[i-1][j- 1]-2*Datos[i-1][j]-Datos[i-1][j 1]);

fy=abs(Datos[i-1][j 1] 2* Datos[i][j 1] Datos[i 1][j 1]-Datos[i-1][j-1]-2*Datos[i][j-1]-Datos[i 1][j- 1]);

Las dos anteriores son las fórmulas de cálculo de la derivada parcial del cálculo ponderado.

La función de sobel es la siguiente:

/****************************** ******** **********************************

operador sobel

* ******************************************* ********* ************/

void sobel(unsigned char Data[][256], unsigned char xData[])

{

int i, j;

int fx, fy, graduado

for(i=1; ilt; 255; i )

for( j=1; jlt; 255; j )

{

fx=abs(Datos[i 1][j-1] 2* Datos[i 1][j] Datos [i 1][j 1]-Datos[i-1][j-1]-2*Datos[i-1][j]-Datos[i-1][j 1]);

fy=abs(Datos[i-1][j 1] 2*Datos[i][j 1] Datos[i 1][j 1]-Datos[i-1 ][j-1]-2* Datos[i][j-1]-Datos[i 1][j-1]

grad=fx fy

); if(gradgt; 100)

xData[i*256 j]=255

else

xData[i*256 j]=0; p>

}

return;

}

El valor anterior de 100 es el umbral.

Este es el programa que utilicé para completar el experimento de procesamiento de imágenes digitales y se puede ejecutar.