MATLAB es sencillo
1) Dividir subregiones
Método 1:
La imagen I es una matriz Para dividirla en subregiones es tomar las filas correspondientes y. columnas de la matriz según ciertas reglas.
Por ejemplo, I ? matriz 100*100, subregión 10*10 es:
Entonces su
primer bloque es: (1: 10, 1: 10) El número de subárea es (1, 1)
El segundo bloque es: (11:20, 1:10)? El número de subárea es (2, 1) p>
Con esta analogía:
Se puede lograr mediante el bucle:
for i=1:10;
?for j=1: 10;
?eval(); es decir, las coordenadas del punto de la esquina superior izquierda y el punto de la esquina inferior derecha de la subárea.
El código de muestra es el siguiente:
for i=1:10;
?for j=1:10;
?eval( ['I' num2str(i) num2str(j) '=imcrop(I, [1 10*(i-1), 1 10*(i-1), 10 10*(j-1), 10 10*( j-1)])']);
?end
end
2) Cómo obtener y dibujar el histograma: [x, n] =hist(I(:), 1:255);
x devuelve la matriz de abscisas ----- el punto medio del pequeño intervalo de estadísticas de frecuencia
n devuelve la matriz de ordenadas -----Gráfico de frecuencia (n, x) en cada intervalo pequeño
Además, también se puede usar directamente:
p=imhist(I);
plot(p);
Densidad de probabilidad: plot(p/N);
N es el número total de puntos en el área, como 10 *10.
3) Utilice áreas divididas y histograma en escala de grises juntos: para i=1:10;
para j=1:10; *(i-1) j,:)=imhist(I(1 10*(i-1):10 10*(i-1),1 10*(j-1):10 10*(j -1) ));
? end end
Entonces las estadísticas del histograma de cada subregión están en cada fila de la matriz p, con un total de 100 filas.