Red de conocimiento informático - Material del sitio web - Cómo consultar el código fuente de cuantificación

Cómo consultar el código fuente de cuantificación

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.

Funcionamiento del procesador de imágenes digitales

Este programa puede escalar grises 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.

Imagen ecualizada PicEqual.bmp

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

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

Imagen gris del gráfico N° 2

Histograma del gráfico N°3

Histograma de equilibrio del gráfico N°4

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

El número de imagen mostrado por Imshow(PS) 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); los 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) medir los parámetros de tamaño de la imagen

p>

GP = cero (1, 256); cree un vector por adelantado para almacenar la probabilidad en escala de grises.

Para k=0: 255

GP(k 1)= length(find(PS = = k))/(m * n); Calcula cada nivel de gris. La probabilidad es almacenado en la ubicación correspondiente en GP.

Fin

Graph,bar(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); Calcular riesgo

Fin

Fin

S2 = ronda( s 1 * 256); Cambie 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); asigne el valor de gris normalizado de cada píxel a los píxeles.

Fin

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

Título("imagen ecualizada")

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