Red de conocimiento informático - Consumibles informáticos - Código fuente de tendencia cuantitativa

Código fuente de tendencia cuantitativa

La ecualización de histograma también es un tipo de cuantificación no lineal. Lo encontré en línea y el autor lo escribió con gran detalle.

% Trabajo de procesador de imágenes digitales

Este programa puede escalar archivos de imágenes en color en formato JPG y realizar ecualización de histogramas.

%

%Archivo de entrada: Imagen PicSample.jpg a procesar.

%Archivo de salida: imagen gris PicSampleGray.bmp.

% PicEqual.bmp imagen ecualizada

%

%Descripción de la ventana de gráficos de salida

%Imagen en color a procesar en la imagen número 1

% Gráfico N° 2 imagen gris

% Gráfico N° 3 histograma

% Gráfico N° 4 histograma ecualizado

% Figura 5 Curva de cambio de escala de grises

% Imagen de ecualización gráfica No. 6

% 1. El nombre de la imagen procesada debe ser PicSample.jpg.

% 2. Cada vez que se ejecuta el programa, se borrará el espacio de trabajo.

% Autor; No Building Lord

Limpiar todo

% 1. Preprocesamiento de imágenes, leer imágenes en color y atenuarlas.

PS = im read(' pic sample . jpg '); %Leer archivo de imagen en color JPG

Imshow(PS)%El número de imagen mostrado es 1.

Title("Imagen JPG en color importada")

imwrite(rgb2gray(PS), ' picsamplegray . BMP '); Escala de grises la imagen en color y guárdala

PS = RGB 2 gris(PS); % de datos grises se almacenan en la matriz.

En la imagen, imshow(PS)% muestra una imagen gris, que también es la imagen de muestra número 2 antes de la ecualización.

Título ("Imagen gris")

% 2, dibujar histograma

[m, n] = tamaño (PS% parámetros de tamaño de imagen medidos <); /p>

GP = zero (1, 256); % Cree previamente un vector para almacenar probabilidades en escala de grises.

Para k=0:255

GP(k+1)= length(find(PS = = k))/(m * n % calcula cada nivel de gris); La probabilidad de nivel se almacena en la ubicación correspondiente en GP.

Fin

Gráfico, barra(0:255, GP, 'g')% traza el histograma Figura 3.

Título("Histograma de la imagen original")

Xlabel('Valor de gris')

Ylabel("Probabilidad de ocurrencia")

% 3, ecualización de histograma

s 1 = cero (1, 256);

Porque i=1:256

Para j=1 :i

s 1(I)= GP(j)+s 1(I % riesgo calculado

Fin

Fin

S2); = round(s 1 * 256); % Mueve Sk a un nivel de gris similar.

Porque i=1:256

GPeq(I)= sum(GP(find(S2 = = I)); % calcula la probabilidad de cada nivel de gris existente.

Fin

La figura, bar(0:255,GPeq,' b')% muestra el histograma balanceado Figura 4.

Título("Histograma después de la ecualización")

Xlabel('Valor de gris')

Ylabel("Probabilidad de ocurrencia")

En la figura, plot(0:255, S2, "r")% muestra la curva de cambio de escala de grises de la Figura 5

Leyenda ("Curva de cambio de escala de grises")

Xlabel( "Escala de grises de la imagen original")

Ylabel("Escala de grises después de la ecualización")

% 4, Ecualización de imagen

PA = PS

Porque i=0:255

PA(find(PS = = I))= S2(I+1); % normalizará la escala de grises de cada píxel. El valor asignado a este píxel.

Fin

Figura, imshow(PA)% muestra la imagen equilibrada Figura 6.

Título("imagen ecualizada")

imwrite(PA, 'pice qual . BMP');