直方图均衡化和图像平滑 实验报告

直方图均衡化和图像平滑 实验报告

一、实验目的

1. 掌握灰度直方图的概念及其计算方法

2. 掌握直方图均衡化和直方图规定化的计算过程

3. 利用MATLAB 程序进行直方图统计和均衡

4. 掌握空间域滤波的概念及其计算方法

5. 熟练掌握空间域滤波中常用的平滑滤波器

6. 利用MATLAB 程序进行图像平滑增强

二、实验设备

计算机

、实验内容

1. 调入数字图像,并进行直方图均衡化处理

2. 显示原图像及直方图和经过增强处理过的图像及其直方图

3. 产生分别加入椒盐噪声和高斯噪声的劣质图像

4. 分别用邻域平均法、中值滤波、边界保持类滤波器对劣质图像进行平滑处理并显示

5. 保存处理前与处理后的图像

、实验要求

1. 根据实验内容正确运用MATLAB编程

2. 写出实验报告

五、实验结果与分析

1.zhi_fang_tu_jun_heng_hua.m文件给出了原图像及直方图和经过增强处理过的图像及其直方图

zhi_fang_tu_jun_heng_hua.m

close all;
clear all;
clc;

a=imread('lena.jpg');
a=rgb2gray(a);
a1=histeq(a);
subplot(221);imshow(a);title('原图');
subplot(223);imshow(a1);title('均衡化后的效果图');
subplot(222);imhist(a);title('原图直方图');
subplot(224);imhist(a1);title('均衡化后的效果图直方图');

输出结果:

直方图均衡化和图像平滑 实验报告

 

2.tu_xiang_ping_hua.m文件给出了加入椒盐噪声和高斯噪声的劣质图像分别用邻域平均法、中值滤波、边界保持类滤波器对劣质图像进行平滑处理后的图像,并将得到的图像进行保存。

tu_xiang_ping_hua.m

close all;
clear all;
clc;

a=imread('lena.jpg');
a=rgb2gray(a);

b1=imnoise(a,'salt',0.1);
b2=imnoise(a,'gaussian',0.1);
subplot(231);imshow(b1);title('椒盐噪声污染图像');
subplot(234);imshow(b2);title('高斯噪声污染图像');

kern1=[1 1 1;1 1 1;1 1 1];kern1=1/9*kern1;
d1 = conv2(double(b1),double(kern1),'same'); 
d1=uint8(d1);
d2 = conv2(double(b2),double(kern1),'same'); 
d2=uint8(d2);
subplot(232),imshow(d1);title('均值滤波处理椒盐噪声的结果');
subplot(235),imshow(d2);title('均值滤波处理高斯噪声的结果');

d3 = medfilt2(b1);
d3=uint8(d3);
d4 = medfilt2(b2);
d4=uint8(d4);
subplot(233),imshow(d3,[]);title('中值滤波处理椒盐噪声的结果');
subplot(236),imshow(d4,[]);title('中值滤波处理高斯噪声的结果');

imwrite(b1,'椒盐噪声污染图像.jpg');
imwrite(b2,'高斯噪声污染图像.jpg');
imwrite(d1,'均值滤波处理椒盐噪声的结果.jpg');
imwrite(d2,'均值滤波处理高斯噪声的结果.jpg');
imwrite(d3,'中值滤波处理椒盐噪声的结果.jpg');
imwrite(d4,'中值滤波处理高斯噪声的结果.jpg');

 输出结果:

直方图均衡化和图像平滑 实验报告

2019-04-29

15:30:44

转载于:https://www.cnblogs.com/lyxyhhxbk/p/10760115.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100960.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Ubuntu安装微信,三步到位[通俗易懂]

    Ubuntu安装微信,三步到位[通俗易懂]Ubuntu安装微信

    2025年7月28日
    2
  • OCX控件数字签名图文教程[通俗易懂]

    OCX控件数字签名图文教程[通俗易懂]这段时间做了一个B/S下套打的控件(过几天整理一下放到博客上来),控件测试完成,但是因为没有数字证书,IE如果不设置信任区域和等级的话,会直接被阻止下载安装(我不期望客户能熟练地改IE设置),但是数字证书价格昂贵,暂不考虑,看到cnblogs上一篇文章后深受启发,照着搞了一个测试用的数字签名,但是这篇文章上的OS貌似是win2000,IE5,我有必要在win7下给大家做个演示:首先,下载

    2022年7月13日
    14
  • 编写一个void sort(int*x,int n)实现将x数组中的n个数据从大到小排序。n及数组元素在主函数中输入。将结果显示在屏幕上并输出到文件

    编写一个void sort(int*x,int n)实现将x数组中的n个数据从大到小排序。n及数组元素在主函数中输入。将结果显示在屏幕上并输出到文件

    2022年1月24日
    53
  • 无线信道特征_无线信道模型有哪几种

    无线信道特征_无线信道模型有哪几种目录1统计性模型(经验模型)1.1模型分类(1)按衰落分类(2)按路径损耗和延迟拓展分类1.2建模方法(1)方法一分类(2)方法二分类2确定模型2.1建模方法3半确定模型3.1建模方法4思维导图PDF、xmind格式下载5参考文献1统计性模型(经验模型)1.1模型分类(1)按衰落分类小尺度传播衰落模型描述小范围内信号的幅度和相位的快速衰落,在电波传播过程中,信号场强在短短(几个信号波长)或短时(秒级)上呈现出快速波动的状况,包括由移动台和基站相对运动造成多普勒频移引起的时间

    2022年9月23日
    2
  • java转化为string_php有必要转java吗

    java转化为string_php有必要转java吗Stringdatas=“{key:value,key2:value2}”;JSONObjectjsonObject=JSONObject.parseObject(datas);1.上面的代码是把json字符串转化为json对象jsonObject.put(“key3″,”value3”);2.上面的代码对其进行赋值ObjectexO1=JSON.to…

    2022年8月23日
    11
  • 虚拟存储技术和交换技术的区别是什么_虚拟存储器技术

    虚拟存储技术和交换技术的区别是什么_虚拟存储器技术虚拟存储技术和交换技术很像,乍一看都是换入换出,把暂时不需要用的数据换出内存,将需要用到的数据换入内存,从而实现逻辑上内存的扩充。二者之间的区别是,虚拟存储技术是在一个作业运行的过程中,将作业的数据进行换入换出。王道老师举得例子就是玩儿游戏。这儿换一个游戏,比如玩儿DOTA,停留在场景A的时候,场景B的数据不需要用到,所以不放在内存,转换到场景B的时候再把场景B的数据放入内存。而交换技术是内存紧张时,换出某些进程,腾出内存空间,换入其他进程。换而言之,交换技术是在不同的进程(作业)间的,虚拟存储技术是在一个

    2022年9月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号