Matlab- procesamiento de ecualización del histograma y el histograma (con código) imagen digital

1.Objectives:

1, y conceptos familiares método de cálculo de histograma;
2, familiarizados con el proceso de ecualización de histograma se calcula;
3, calculan y se representan histograma de la imagen, ecualización de histograma logra.

Contenido 2.Experiment:

Aprende a usar las funciones imhist, histeq, bar, tallo, la trama, imadjust, y el título, eje, set y otras herramientas de describir la imagen.

3.Experiment Principio:

1. Histograma: Histograma se define una función discreta h (rk) = nkrk primeros niveles k de gris en el intervalo, el número de píxeles de niveles de gris en los que aparezca la imagen NK, diagrama de tallo bar se puede utilizar de tres maneras mostrado,

2. La ecualización de histograma: El equilibrio es en realidad una función de distribución acumulativa (CDF)
Aquí Insertar imagen Descripción
donde rk Sk gradación valor de la imagen de salida es una entrada de valor de gris, nj es el número de píxeles de una valores de gradación, siendo n un entero el número de píxeles.

Permítanme ilustrar con un ejemplo de cómo la ecualización del histograma

Supongamos nueve píxeles de una imagen
Aquí Insertar imagen Descripción
nuestra en la tabla anterior se puede encontrar en el valor original de la escala de grises 20 30 40 de poco espaciados, no es fácil distinguir a simple vista después de la ecualización se convierte amplió 85170255 valor de gradación aumentando de este modo la diferencia de contraste

4.Experiment Pasos de Resultados y conlusion:

(1) visualizar un histograma
Aquí Insertar imagen Descripción
de la figura 1 que muestra un histograma.
Con: visto en la figura, toda la imagen es relativamente oscuro, por lo que se centró en un valor de gradación de 100

(2) muestran la barra del histograma y la función del tronco

Un histograma que muestra una función parcela h = imhist obtenido histograma; Bar muestran, respectivamente, histogramas H y el vástago, mediante el ajuste de los parámetros, cambia la visualización del histograma. Eje eje provisto de valores máximos y mínimos (por ejemplo: eje ([0 255 0 15 000 ]);), las coordenadas del conjunto de visualización está provista de un espaciador (por ejemplo .: conjunto (GCA, 'XTICK' , 0: 50: 255))
Aquí Insertar imagen Descripción
en la figura. 2 y una barra, el tallo, la trama histograma que muestra
Contra: donde el histograma se divide en 25, y por lo tanto no tan densa la figura anterior, podemos ver claramente en un valor particular de múltiples píxeles en el punto 100, principalmente porque no se concentran y donde no se concentran a aproximadamente 10 valores de gris de los píxeles se añaden juntos, la cantidad de datos es particularmente grande. Set coordenadas se utilizan en función de una serie de herramientas de MATLAB.

(3) con función de imadjust longitudinal ajuste de contraste de la imagen, y el ajuste de vista imhist histograma cambia .
Aquí Insertar imagen Descripción
3 para ajustar la función de contraste de la imagen con imadjust

La figura dos imagen gris se llevan a cabo el procesamiento de ajuste de rango es 0-1
para la primera gamma figura <1, el histograma de nuevo más brillante de la imagen también convergieron en la proximidad del alto valor de luminancia 150
para la primera la figura gamma> 1, la siguiente imagen se convierte en histograma oscura también se hace converger en las proximidades de un alto valor de luminancia de 45
de estabilización (4) histograma con histeq, y ver los cambios antes y después de la ecualización de histograma con imhist.
Aquí Insertar imagen Descripción
La figura 4 es una histeq ecualización de histograma

En contra: los propósitos de equilibrio es mejorar el contraste, brillo brillante, más oscuro más oscuro, a partir de los resultados, el libro detrás de Einstein más clara, indicando la mejora del contraste nos puede ayudar a "ver" cosas. Pero el tratamiento para las personas no como antes, todavía tiene que explicar al tratamiento adecuado de acuerdo a la situación real. Véase también el histograma aquí, donde el brillo original de baja píxeles de alto brillo no se igualan después de casi cubierto toda la zona de la escala de grises, el rango de luminancia de la descripción original de la imagen se estira. píxeles de luminancia se concentran en una región de alta luminancia.

(5) igualación de la luminancia algoritmo borroso, se obtiene la siguiente función utilizando los resultados correspondientes
Aquí Insertar imagen Descripción
en la Fig. 5 para igualar la luminancia algoritmo fuzzy

En contra: Uso .p addpath añadir el archivo correspondiente, a continuación, la facilidad de uso de la función fuzzysysfcn, se puede ver muy claramente el efecto de desenfoque la imagen más clara y verdadera.

5.Appendix (programas e imágenes):

código:

clear all;clc;
f=imread('E:\数字图像处理\程序与图像\图像库\EINSTEIN.tif');
figure(1);
subplot(1,2,1);
imshow(f);
title('EINSTEIN');
subplot(1,2,2);
imhist(f);%画出直方图
axis([0 255 0 40000]);%为直方图设置坐标轴  

figure(2);
subplot(2,2,1);
h=imhist(f,25);%这个25参量的意思是共有25个容器 就是把255个灰度值分成25个来进行统计
horz=linspace(0,255,25);%生成一个范围是0到255的向量,向量中有25个点,分别均匀排列
bar(horz,h);%y用bar方式显示直方图,h是直方图的信息 
axis([0 255 0 120000]);%设置xy轴标记的刻度 四个参数分别是x轴的起始刻度,终止刻度 轴的起始刻度,终止刻度
set(gca,'xtick',0:50:255) %gca是获得当前轴,然后在x轴上 每隔50个值标记刻度
set(gca,'ytick',0:20000:120000);%同上,不过是在y轴
title('bar 默认宽度');
subplot(2,2,2);
bar(horz,h,0.5);%y用bar方式显示直方图,h是直方图的信息 0.5这个参数是可以调整bar的宽度的信息 
axis([0 255 0 120000]);
set(gca,'xtick',0:50:255);
set(gca,'ytick',0:20000:120000);%同上
title('bar 0.5的宽度');
subplot(2,2,3);
stem(horz,h);%用杆状图绘制直方图
axis([0 255 0 120000]);
set(gca,'xtick',0:50:255)
set(gca,'ytick',0:20000:120000);%同上
title('stem');
subplot(2,2,4);plot(horz,h);%用plot绘制曲线图
axis([0 255 0 120000]);
set(gca,'xtick',0:50:255) 
set(gca,'ytick',0:20000:120000);%同上
title('plot'); 

figure(3);
subplot(2,2,1);
f1=imadjust(f,[0 1],[0 1],0.5);%f是输入的图像 第二、三个矩阵分别是变化前 变化后的范围 最后的值gamma是决定变化的函数是上凸还是下凹%大于1下凹,图像变暗,大于1上凸,图像变亮
imshow(f1);
title('gamma>1,图像变暗');%映射图像下凹,相应灰度级降低
subplot(2,2,2);
imhist(f1);
subplot(2,2,3);
f2=imadjust(f,[0 1],[0 1],2);
imshow(f2);
title('gamma<1,图像变亮');
subplot(2,2,4);
imhist(f2);

figure(4);
subplot(2,2,1);
imshow(f);
subplot(2,2,2);
imhist(f);
title('原图直方图');
subplot(2,2,3);
g=histeq(f,256);%求出原图直方图均衡后的图像中每个像素点的灰度数据
imshow(g);%显示原图直方图均衡后的图像
subplot(2,2,4);
imhist(g);%绘制出原图直方图均衡后的直方图
title('直方图均衡');  

addpath('E:\数字图像处理\程序与图像\dipum_toolbox_2.0.2(only run)');%添加相应的.p文件,便于之后使用fuzzysysfcn函数 

udark=@(z)1-sigmamf(z, 0.35, 0.5);%进行模糊处理的隶属度函数
ugray=@(z)triangmf(z, 0.35, 0.5, 0.65);
ubright=@(z)sigmamf(z, 0.5, 0.65);
udarker=@(z)bellmf(z, 0.0, 0.1);
umidgray=@(z)bellmf(z, 0.4, 0.5);
ubrighter=@(z)bellmf(z, 0.8, 0.9); 
outmf={udark; ugray; ubright};%表示输出模糊函数
rules={udarker; umidgray; ubrighter}; %表示输入
F=fuzzysysfcn(outmf, rules, [0,1]); %使用
fuzzysysfcn函数及逆行模糊处理
z=linspace(0, 1, 256);%产生0-1范围内的指定数量点数,等分为256份,并返回一个行向量。
T=F(z);
I=f;
g=intrans(I, 'specified', T);
figure(5), imshow(g);%模糊处理的结果
figure(6), imshow(I);%原图
figure(7),plot(T);%灰度分布

resultados:
Aquí Insertar imagen Descripción

Aquí Insertar imagen Descripción

Publicado 17 artículos originales · ganado elogios 12 · vistas 1665

Supongo que te gusta

Origin blog.csdn.net/weixin_42784535/article/details/105121416
Recomendado
Clasificación