视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
直方图均衡化和直方图规定化-实验报告
2025-09-27 23:45:46 责编:小OO
文档
一、实验目的

掌握直方图均衡化和直方图规定化的图像增强方法

掌握图像平滑滤波和锐化滤波的模板计算方法

二、实验内容:

1. 使用IPT中imhist,histeq函数进行直方图的均衡化和规定化,并显示结果

2. 编写myhisteq函数实现直方图均衡化,与1中结果进行对比

3. 给读取的图像叠加椒盐噪音(imnoise),分别使用均值滤波和中值滤波进行去噪,并对比图像处理的结果(使用IPT函数)

4. 自定义3*3模板矩阵F,编写myfilter函数实现模板和图像的卷积运算,设计模板矩阵,实现图像的平滑和锐化。

三、实验代码及结果

 (1) 直方图的均衡化和规定化

clc;

clear;

I= rgb2gray(I) ; %将图像转换为灰度图像

J= histeq( I) ; %对I 进行直方图均衡化

figure,subplot( 2,2,1) ,imshow(I) ,title('原始图像') ;

subplot (2,2,2), imshow(J), title('直方图均衡化后的图像');

subplot( 2,2,3) ,imhist(I, ), title( '原始的直方图');

subplot( 2,2,4) ,imhist(J,) ,title(' 均衡化后的直方图');

clc;

clear;

I= rgb2gray(I) ; %将图像转换为灰度图像

h=0:255;h=1-h/255;

J= histeq( I,h) ; 

figure,subplot( 2,3,1) ,imshow(I) ,title('原图像') ;

subplot( 2,3,2) ,imhist(I, ), title( '原图像的直方图');

subplot (2,3,3), stem(h), title('目标直方图');

subplot( 2,3,4) ,imshow(I, ), title( '规定化后的图像');

subplot( 2,3,5) ,imhist(J,) ,title(' 规定化后的直方图');

2、myhisteq函数实现直方图均衡化

I = rgb2gray(I);

[height,width] = size(I);  

figure 

subplot(2,2,1)  

imshow(I)%显示原始图像  

title('原图像');

subplot(2,2,2)  

imhist(I)%显示原始图像直方图  

title('原图像直方图');  

%进行像素灰度统计;  

s = zeros(1,256);%统计各灰度数目,共256个灰度级  

for i = 1:height  

    for j = 1: width  

        s(I(i,j) + 1) = s(I(i,j) + 1) + 1;%对应灰度值像素点数量增加一  

    end  

end  

%计算灰度分布密度  

p = zeros(1,256);  

for i = 1:256  

    p(i) = s(i) / (height * width * 1.0);  

end  

%计算累计直方图分布  

c = zeros(1,256);  

c(1) = p(1);

for i = 2:256   

        c(i) = c(i - 1) + p(i);  

end  

%累计分布取整,将其数值归一化为1~256 

c = uint8(255 .* c + 0.5);  

%对图像进行均衡化

for i = 1:height  

    for j = 1: width  

        I(i,j) = c(I(i,j)+1);  

    end  

end  

subplot(2,2,3)  

imshow(I)%显示均衡化后的图像

title('均衡化后图像');

subplot(2,2,4)  

imhist(I)%显显示均衡化后的图像的直方图  

title('均衡化后图像的直方图');

三、使用均值滤波和中值滤波进行去噪

I= rgb2gray(I) ; %将图像转换为灰度图像

I1 = imnoise(I,'salt & pepper',0.02);%0.02是噪声强度,其值越大噪声越多

h=fspecial('average',5);

J1=filter2(h,I1,'valid');

J2= imfilter(I1,h,'full');

figure,subplot(3,3,1),imshow(I1);title('原始椒盐噪声图像图1');

subplot(3,3,2),imshow(uint8(J1));title('filter2均值滤波图2');

subplot(3,3,3),imshow(J2);title('imfilter均值滤波图3');

J3 = medfilt2(I1,[5,5]);

subplot(3,3,4),imshow(J3),title('中值滤波效果图4');

G1= histeq(I1);subplot(3,3,5),imhist(G1,),title('原图均衡化后的直方图');

G2= histeq(J1);subplot(3,3,6),imhist(uint8(G2),),title('图2均衡化后直方图');

G3= histeq(J2);subplot(3,3,7),imhist(G3,),title('图3均衡化后直方图');

G4= histeq(J3);subplot(3,3,8),imhist(G4,),title('图4均衡化后直方图');

                                                              

  问题:对于filter2均值滤波均衡化直方图不显示,不知道原因。

四、myfilter函数实现模板和图像的卷积运算下载本文

显示全文
专题