Red de conocimiento informático - Material del sitio web - Cómo utilizar la programación de Matlab para implementar el algoritmo de serpiente para extraer los bordes de los defectos de rayado en las imágenes. Si tiene un programa, publíquelo.

Cómo utilizar la programación de Matlab para implementar el algoritmo de serpiente para extraer los bordes de los defectos de rayado en las imágenes. Si tiene un programa, publíquelo.

N = longitud(x);

alfa = alfa* unos(1, N

beta = beta*unos(1, N

); %Generar cinco vectores dirigidos

alpha m 1 =[alpha(2:N)alpha(1)];

alpha p 1 =[alpha(N)alpha(1) : N-1)];

betam 1 =[beta(2:N)beta(1)];

beta p 1 =[beta(N)beta(1: N -1)];

a = betam 1;

b =-α-2 *β-2 *βam 1;

c =α+ αp 1+βm 1+4 *β+βp 1;

d =-alfa p 1-2 * beta-2 * beta p 1;

e = beta p 1; /p>

%Generar matriz de parámetros

A = diag(a(1:N-2),-2) + diag(a(N-1:N),N-2) ;

A = A + diag(b(1:N-1),-1) + diag(b(N),N-1);

A = A+ diag( c);

A = A + diag(d(1:N-1),1) + diag(d(N),-(N-1));

A = A + diag(e(1:N-2), 2) + diag(e(N-1:N), -(N-2));

invAI = inv( A+ gamma * diag(ones(1, N)));

Para recuento = 1:ITER,

vfx = interp2(fx, x, y, ' * lineal ' );

vfy = interp2(fy, x, y, ' * lineal ');

%Serpiente Deformada

x = invAI *(gamma * x +kappa * VFX);

y = invAI *(gamma * y+kappa * vfy);

Fin

上篇: ¿Cómo evaluar correctamente la Rebelión Taiping? 下篇: Cómo utilizar LoadRunner para analizar el uso de recursosProceso: Tiempo de procesador: Tiempo de procesamiento consumido por el procesador. Si el servidor está dedicado a SQL Server, el límite máximo aceptable es de 80 a 85 errores de página/segundo: compare los errores de página generados por el proceso con los errores de página generados por el sistema para determinar el impacto del proceso en los errores de página del sistema. . Conjunto de trabajo: las páginas de memoria utilizadas recientemente por el subproceso de procesamiento, lo que refleja la cantidad de páginas de memoria utilizadas por cada proceso. Si el servidor tiene suficiente memoria libre, la página permanece en el conjunto de trabajo; si la memoria disponible es inferior a un cierto umbral, la página se elimina del conjunto de trabajo. Bytes inetinforivados: el número actual de bytes asignados por este proceso que no pueden ser disfrutados por otros procesos. Si el rendimiento del sistema se degrada con el tiempo, este contador puede ser el mejor indicador de una pérdida de memoria. Procesador: monitorear los contadores de objetos del procesador y del sistema puede proporcionar información valiosa sobre el uso del procesador y ayudarlo a identificar si existen cuellos de botella. Porcentaje de tiempo del procesador: si este valor excede constantemente 95, la CPU tiene un cuello de botella; considere agregar un procesador o cambiar a un procesador más rápido. Porcentaje de tiempo del usuario: indica operaciones de base de datos que consumen CPU, como ordenar, ejecutar funciones agregadas, etc. Si el valor es alto, debería considerar agregar otro procesador o cambiar a un procesador más rápido. Si este valor es alto, considere aumentar los índices, utilizar uniones de tablas simples siempre que sea posible y dividir tablas grandes horizontalmente para reducir este valor. Porcentaje de tiempo privilegiado: (tiempo del núcleo de la CPU) es el porcentaje de tiempo que un subproceso de procesamiento ejecutó código en modo privilegiado. Los valores constantemente altos para este parámetro y el parámetro "Disco físico" pueden indicar un problema de E/S. Considere cambiar a un sistema de disco duro más rápido. Además, configurar Tempdb en RAM, reducir "Max Async IO", "Max Lazy Writer IO" y otras medidas también reducirán este valor. Además, el contador Colas de trabajo del servidor\Longitud de la cola rastrea la longitud actual de la cola de trabajo del servidor de la computadora, lo que indicará cuellos de botella en el procesador. Una longitud de cola que es consistentemente mayor que 4 indica una posible congestión del procesador. Este contador es un valor en un momento específico, no un promedio a lo largo del tiempo. Tiempo de DPC: cuanto más corto, mejor. En un sistema multiprocesador, si este valor es mayor que 50 y el Procesador: Tiempo del procesador es muy alto, agregar una tarjeta de red puede mejorar el rendimiento si la red ya no está saturada. Cambios de contexto de subprocesos/segundo: (creación de instancias de procesos inetinfo y dllhost) Si decide aumentar el tamaño del grupo de bytes de subprocesos, debe monitorear estos tres contadores (incluidos los contadores anteriores). Aumentar la cantidad de subprocesos puede aumentar la cantidad de cambios de contexto, lo que hace que el rendimiento disminuya en lugar de aumentar. Si el valor de cambio de contexto de diez instancias es muy alto, se debe reducir el tamaño del grupo de bytes del subproceso. Disco físico: Tiempo de disco: el porcentaje de tiempo que la unidad de disco seleccionada estuvo ocupada procesando solicitudes de lectura o escritura. Si los tres contadores son grandes, el disco no es el cuello de botella. Si sólo el tiempo de disco es grande y los otros dos contadores son moderados, el disco duro puede ser el cuello de botella. Antes de registrar este contador, ejecute diskperf -yD en una ventana de línea de comandos de Windows 2000. Si el valor excede constantemente 80, puede haber una pérdida de memoria. Longitud promedio de la cola del disco: el número promedio de solicitudes de lectura y escritura en cola para el disco seleccionado durante el intervalo de instancia. Este valor no debe exceder de 1,5 a 2 veces la cantidad de discos. Para mejorar el rendimiento, agregue más discos. Nota: Los discos RAID son en realidad varios discos. Longitud promedio de la cola de lectura/escritura del disco: el número promedio de solicitudes (cola) de lectura (escritura). Lecturas (escrituras) de disco/segundo: el número de lecturas y escrituras de disco por segundo en un disco físico. La suma de los dos debe ser menor que la capacidad máxima del dispositivo de disco.