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

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

一、实验目的

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JMESPath_英语语法如何自学

    JMESPath_英语语法如何自学前言JMESPath是JSON的查询语言。您可以从JSON文档中提取和转换元素官方文档:https://jmespath.org/tutorial.html基本表达式JMESPath用的最多的

    2022年7月29日
  • Python几种主流框架

    Python几种主流框架从GitHub中整理出的15个最受欢迎的Python开源框架。这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等。Django:PythonWeb应用开发框架Django应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响。Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据…

    2022年6月3日
  • c++字符串转int_python中lower的用法

    c++字符串转int_python中lower的用法在做ACM题时,经常都会遇到一些比较大的整数。而常用的内置整数类型常常显得太小了:其中long和int范围是[-2^31,2^31),即-2147483648~2147483647。而unsigned范围是[0,2^32),即0~4294967295。也就是说,常规的32位整数只能够处理40亿以下的数。那遇到比40亿要大的数怎么办呢?这时就要用到C++的64位扩展了。不同的编

    2022年10月22日
  • ip addr 和 ifconfig「建议收藏」

    ip addr 和 ifconfig「建议收藏」你知道怎么查看IP地址吗?当面试听到这个问题的时候,面试者常常会觉得走错了房间。我面试的是技术岗位啊,怎么问这么简单的问题?的确,即便没有专业学过计算机的人,只要倒腾过电脑,重装过系统,大多也会知道这个问题的答案:在Windows上是ipconfig,在Linux上是ifconfig。那你知道在Linux上还有什么其他命令可以查看IP地址吗?答案是ipad…

    2022年7月28日
  • Eclipse乱码怎么办

    Eclipse乱码怎么办Android与H5交互前言一.设置工作空间的编码前言在Eclipse中导入新的项目的时候,会遇到乱码的问题,而乱码的问题主要集中在中文的显示上。不过通过设置编码方式,看似十分恐怖的乱码问题也能够轻易解决。Eclipse设置编码的地方主要有三处,这三处的设置都会影响中文的显示。一.设置工作空间的编码编辑器的编码会影响到所有的项目中的字符的显示,可以说是作用最为广泛的设置,每一个项目都会…

    2022年5月9日
  • golang操作elasticsearch详解[通俗易懂]

    golang操作elasticsearch详解[通俗易懂]golang操作elasticsearch详解直接上代码packagemainimport( “bytes” “context” “fmt” “github.com/olivere/elastic/v7” “log” “strconv”)constIndexName=”test_index”funcmain(){ IsDocExists(“xxx”,IndexName)}//获取Es客户端funcGetEsClient()*elastic.Clie

    2022年5月5日

发表回复

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

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