数字图像处理实验三图像增强

一、实验目的

(1)了解图像增强的目的及意义,加深对图像增强的

     感性认识,巩固所学的图像增强的理论知识和相

     关算法。

(2)熟练掌握直方图均衡化和直方图规定化的计算过

     程。

(3)熟练掌握空域滤波中常用的平滑和锐化滤波器。

(4)熟练掌握低通和高通滤波器的使用方法,明确不

     同性质的滤波器对图像的影响和作用。

(5)掌握最简单的伪彩色变换方法。

二、实验内容

(1)任意选择几幅图像,对其进行平滑处理,用

     不同的平滑模板,对结果进行分析。

(2)任意选择几幅图像,对其进行中值滤波,用

     不同的滤波模板对结果进行分析。

(3)任意选择几幅图像,对其进行梯度锐化,选

     择不同的阈值参数,观察图像有何变化。

(4)对图像进行伪彩色变换,比较彩色增强后的

     图像与原图像有何不同。

三、实验代码及结果、分析

(1)平滑滤波----邻域平均法

  • 代码:

I=imread('E:\JZ数字图像处理\实验3\shiyansan.jpg');

I=rgb2gray(I);

J=imnoise(I,'salt & pepper',0.03);       %加均值为0,方差为0.03的椒盐噪声G=imnoise(I,'gaussian',0.03);             %加均值为0,方差为0.03的高斯噪声。

A=fspecial('average',[4,4]); %4x4均值滤波

A1=fspecial('average',[6,6]); %6x6均值滤波

A2=fspecial('average',[8,8]); %8x8均值滤波

A3=fspecial('average',[10,10]); %10x10均值滤波

J1= imfilter(J,A);  %imfilter均值滤波函数

J2= imfilter(J,A1);  

J3= imfilter(J,A2);  

J4= imfilter(J,A3);   

G1= imfilter(G,A);  

G2= imfilter(G,A1);  

G3= imfilter(G,A2);  

G4= imfilter(G,A3);  

figure(1)

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

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

subplot(2,3,2),imshow(J),title('加入椒盐噪声');         %显示有椒盐噪声图像

subplot(2,3,5),imshow(G),title('加入高斯噪声');         %显示有高斯噪声图像

subplot(2,3,3),imshow(J1),title('4×4均值滤波');%显示有椒盐噪声图像的滤波

subplot(2,3,6),imshow(G1),title('4×4均值滤波'); %显示有高斯噪声图像的滤波

figure(2);

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

subplot(2,3,2),imshow(J),title('加入椒盐噪声');  %显示有椒盐噪声图像

subplot(2,3,4),imshow(J1),title('4×4');

subplot(2,3,3),imshow(J2),title('6×6');

subplot(2,3,5),imshow(J3),title('8×8');

subplot(2,3,6),imshow(J4),title('10×10');

figure(3)

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

subplot(2,3,2),imshow(G),title('加入高斯噪声');       %显示有高斯噪声图像

subplot(2,3,4),imshow(G1),title('4×4');

subplot(2,3,3),imshow(G2),title('6×6');

subplot(2,3,5),imshow(G3),title('8×8');

subplot(2,3,6),imshow(G4),title('10×10');

  • 结果:

  • 分析:
  1. 平滑滤波的作用是对高频分量进行削弱或消除,增强图像的低频分量
  2. 领域平均法是线性运算、中值滤波是非线性运算
  3. 在该题中加的椒盐噪声、高斯噪声方差均为0.03,可以由图1-2、图1-3看出原图像在加入两种噪声之后,画质都有所损失。但是椒盐噪声只是在原图像的某些地方存在,而高斯噪声几乎是分布在原图像的每个地方,造成了图像比之前模糊
  4. 椒盐噪声:又称脉冲噪声,它随机改变一些像素值,是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。椒盐噪声往往由图像切割引起;
  5. 高斯分布:也称正态分布,有均值和方差两个参数,均值反应了对称轴的方位,方差表示了正态分布曲线的胖瘦。高斯分布是最普通的噪声分布
  6. 平滑滤波的模板需要选择合适,模板选择太小,噪声无法滤除,模板选择太大,造成了过度处理,图像会变得逐渐模糊,不管是椒盐噪声、还是高斯噪声如图1-4、1-5模板逐渐增大,图像逐渐模糊。

(2)平滑滤波----中值法

  • 代码:

I=imread('E:\大三课件\大三下\数字图像处理\实验\实验3\shiyansan.jpg');

I=rgb2gray(I);

temp = I;

I = double(I);

%Robert梯度

w1 = [-1 0; 0 1]; 

w2 = [0 -1;1 0];

G1 = imfilter(I,w1,'corr','replicate');

G2 = imfilter(I,w2,'corr','replicate');

G = abs(G1)+abs(G2);

figure(1);

subplot(2,2,1);imshow(temp),title('原图像');

subplot(2,2,2);imshow(abs(G1),[]),title('w1滤波');

subplot(2,2,3);imshow(abs(G2),[]),title('w2滤波');

subplot(2,2,4);imshow(G,[]),title('Robert梯度');

%sobel梯度

w11 = fspecial('sobel');

w21 = w11';

G11 = imfilter(I,w11);

G21 = imfilter(I,w21);

G1 = abs(G11)+abs(G21);

figure(2);

subplot(2,2,1);imshow(temp),title('原图像');

subplot(2,2,2);imshow(G11,[]),title('水平sobel');  

subplot(2,2,3);imshow(G21,[]),title('竖直sobel');

subplot(2,2,4);imshow(G1,[]),title('sobel');

%拉普拉斯滤波

w12 = [0 -1 0;-1 4 -1;0 -1 0];

L12 = imfilter(I,w12,'corr','replicate');

figure(3);

subplot(1,2,1);imshow(temp),title('原图像');

subplot(1,2,2);imshow(abs(L12),[]);

  • 结果:

 

  • 分析:
  1. 锐化滤波器可以消除或减弱图像的低频分量从而增强图像中物体的边缘轮廓信息,使得除边缘以外的像素点的灰度值趋向于零
  2. 我们要将图像类型从uint8转换为double.因为锐化模板计算时常常使输出产生负值,如果采用无符号的 uint8 型, 则负位会被截断
  3. 图3-2Robert梯度分别以w1和w2为模板,w1对接近正45 度边缘有较强响应: w2对接近负45 度边缘有较强响应,对原图像进行滤波就可得到GI和G2,最终的Robert交叉梯度图像(b)为:G = |G1| + |G2|.  
  4. 图3-3,第一个计算了一幅图像的竖直梯度,第2个计算了一幅图像的水平梯度 它们的和可以作为完整的Sobel梯度
  5. 拉普拉斯滤波输出图像中的双边缘,拉普拉斯锐化对一些离散点有较强的响应
  6.  
  7. (3)伪彩色变换
  • 代码:

im=imread('E:\JZ数字图像处理\实验3\shiyansan.jpg');

gray=rgb2gray(im);

I=double(gray);

[m,n]=size(I);

L=256;

for i=1:m

    for j=1:n

if I(i,j)<=L/2    %绿色通道

    R(i,j)=0;

    G(i,j)=2*I(i,j);

    B(i,j)=L;

else if I(i,j)<=L/4   %蓝色通道

        R(i,j)=0;

        G(i,j)=L;

        B(i,j)=-4*I(i,j)+2*L;

    else if I(i,j)<=3*L/2   %红色通道

            R(i,j)=2*I(i,j)-2*L;

            G(i,j)=L;

            B(i,j)=0;

        else

            R(i,j)=L;

            G(i,j)=-4*I(i,j)+4*L;

            B(i,j)=0;

        end

    end

end

    end

end

for i=1:m

    for j=1:n

        rgbim(i,j,1)=R(i,j);

        rgbim(i,j,2)=G(i,j);

        rgbim(i,j,3)=B(i,j);

    end

end

rgbim=rgbim/256;

figure(1);

subplot(1,2,1),imshow(gray),title('原图');

subplot(1,2,2),imshow(rgbim),title('伪彩色变换');

  • 结果:

  • 分析:
  1. 伪彩色处理是指通过将每一个灰度级匹配到彩色空间上的一点,将单色图像映射为一副彩色图像的彩色图像
  2. 最小的灰度值0映射为红色,中间的灰度值L/2映射为绿色,最高的灰度值L映射为蓝色

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493434.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matplotlib与seaborn的一些使用

1.plt.plot画线画点 a np.array([[1, 2], [3, 4]]) print(a[:, 0]) plt.plot(a[:, 0], a[:, 1]) plt.show() plt.plot(a[:, 0], a[:, 1], o,colorred) plt.show()&#xff03;添加风格 plt.plot(x,y,colorred,linewidth1.0,linestyle--) #设置x轴范围 plt.xlim((-1,2)) # …

无人驾驶汽车想要“普渡众生”,还要经历15个磨难

来源&#xff1a;Forbes 、网易智能摘要&#xff1a;无人驾驶汽车的未来与电动平衡车的历史有什么关系吗&#xff1f;电动平衡车也曾被预言将彻底改变交通。史蒂夫•乔布斯曾经说&#xff0c;城市将围绕这一设备重新设计&#xff1b;约翰•杜尔说&#xff0c;它将比互联网更大…

SQL的各种使用方法

一、Select语句例子 使用子查询查询employees表中&#xff0c;属于某一部门员工的姓名、职位、工薪、部门编号的信息 提示&#xff1a; 1)、需要关联employees表、departments表 2)、已知的信息为部门名称&#xff0c;部门名称由用户自己给出 按照要求写出SQL语句。 答案及…

正常矩形计算IOU与与NMS,多边形计算IOU

一&#xff0e;计算IOU def intersect(box_a, box_b):max_xy np.minimum(box_a[:, 2:], box_b[2:])min_xy np.maximum(box_a[:, :2], box_b[:2])inter np.clip((max_xy - min_xy), a_min0, a_maxnp.inf)return inter[:, 0] * inter[:, 1]def jaccard_numpy(box_a, box_b):&…

产业互联网受瞩目:互联网主战场从To C转向To B | 企鹅经济学

来源&#xff1a;科技日报摘要&#xff1a;最近&#xff0c;要论在互联网圈最火的词&#xff0c;非“产业互联网”莫属。如今&#xff0c;言必提产业互联网&#xff0c;已成为互联网圈的一种风潮。互联网的“上半场”已接近尾声&#xff0c;“下半场”的序幕正被拉开&#xff0…

json的用法

json格式 JSON格式&#xff1a;http://www.json.org/ python和JSON的关系请参考&#xff1a;http://docs.python.org/library/json.html JSON建构有两种结构&#xff1a; 1. “名称/值”对的集合&#xff08;A collection of name/value pairs&#xff09;。不同的语言中&#…

数据库设计方法

一、延续训练题 假设你是一个小的录影带出租店的老板。你的出租店里面有3000部电影。每部电影都有DVD或VHS录像带号码。对于每部电影&#xff0c;需要知道它的标题和类别&#xff08;如&#xff0c;喜剧&#xff0c;悬疑&#xff0c;剧情&#xff0c;动作&#xff0c;战争&…

谷歌首席科学家:搞研究的痛苦,搞工程的人不懂

来源&#xff1a;量子位作者&#xff1a;Vincent Vanhoucke谷歌首席科学家、谷歌大脑技术负责人Vincent Vanhoucke&#xff08;万努克&#xff09;最近发出的一篇“劝退文”&#xff0c;引发海外科研学者的热议。在这博客中&#xff0c;万努克直言以研究为业&#xff0c;固然令…

L1/L2/smooth_l1_loss/center_loss+Dice Loss+focal loss+各种IOU loss+kl散度

一&#xff0e;L1/L2/smooth_l1_loss/center_loss公式与代码 1.公式 L2公式&#xff1a; smooth_L1公式: 2.三种函数numpy代码实现 import numpy as np import matplotlib.pyplot as plt#y |x| def L1():x np.arange(-2, 2, 0.01)y abs(x)plt.figure()plt.plot(x, y, …

虚拟机中Linux安装Tools

1. 插入光盘后将文件拷贝到常用放置软件的目录 2. 解压文件 3. 然后进入解压后的文件夹里找到安装文件进行安装&#xff08;注意使用root权限安装&#xff09; 4. 安装时也是一个交互的过程 5. 完成安装 转载于:https://www.cnblogs.com/ywj2013/p/3578931.html

世界创新竞争力发展报告:中美日创新产出竞争力居前三

来源&#xff1a;皮书说11月21日&#xff0c;由福建师范大学、中国科学技术交流中心联合攻关&#xff0c;具体由全国经济综合竞争力研究中心福建师范大学分中心组织研究的《世界创新竞争力黄皮书&#xff1a;世界创新竞争力发展报告&#xff08;2011&#xff5e;2017&#xff0…

二分法查找+树

一&#xff0c;查找存在的一个数&#xff0c;该数在列表中唯一 二分法查找是针对有序数据的查找方法&#xff0c;时间复杂度是O(logn)。。 其中 n/2^k1 时&#xff0c;k 的值就是总共缩小的次数。而每一次缩小操作只涉及两个数据的大小比较&#xff0c;所以&#xff0c; 经过了…

Oracle 软件的安装

1、在oracle主页上注册登录 2、下载64位&#xff0c;将我接受许可协议&#xff0c;下载1of2和2of2,并解压到同一个文件夹 3、安装oracle软件 双击database文件夹里面的setup.exe&#xff0c;启动OUI去掉&#xff1a;我希望通过....只安装软件&#xff0c;不创建数据库选择语言…

算法笔试题

一&#xff0c;搜索连通域 M, N list(map(int, input().split(,))) print(M,N) book [] for i in range(M):line list(map(int, input().split(,)))book.append(line) print(book) # MN3 # book[[1, 0, 0], [0, 1, 0], [0, 1, 1]] print(book,book) class Solution:def __i…

Linux之vim编辑器

目录 vim编辑器 vim编辑器指令 命令模式指令 光标相关 移动光标相关 文本操作 底行模式指令 插入模式 vim配置 面试官&#xff1a;小伙子&#xff0c;你是用什么环境编写代码的&#xff1f; 小明&#xff1a;vs2019 面试官&#xff1a;小伙子&#xff0c;你是用什么环…

Verilog HDL设计实现m序列+选择器

设计m序列发生器&#xff0c;其特征方程为&#xff0c;输出数字序列信号m_sequence码速率为10Mbps&#xff1b;设计串行转并行电路&#xff0c;每4位m序列并行输出&#xff0c;先输入的串行数据位于并行输出数据的高位。设计测试程序&#xff0c;进行功能仿真&#xff0c;将Ver…

深度分享:世界顶级神经科学家王小勤教授CCL 2018主旨报告(PPT全文,经报告人同意发布)...

报告人&#xff1a;王小勤 清华大学脑与智能实验室主任来源&#xff1a;TsinghuaNLP公众号人类的语言处理系统起始于听觉系统&#xff0c;大脑通过听觉系统来感知自然界多姿多彩的声学环境。在我们日常听见的众多声音中&#xff0c;语音和音乐是我们人类相互交流最为重要的两类…

贪心算法+回溯算法+动态规划

一.贪心算法 1.分饼干问题 #思路:排序加贪心 先让胃口小的孩子满足 class Solution:def findContentChildren(self, g, s):print(g:, g)print(s:, s)g sorted(g)#孩子s sorted(s)#饼干res 0for j in range(len(s)):#遍历饼干 先给胃口小的分配if res<len(g):if g[res]&…

小谈@override

override是jdk1.5增加的注解&#xff0c;主要是用来声明子类的某方法覆盖了父类的某方法。非常简单的注解&#xff0c;但是有个小问题&#xff1a; 项目最开始使用的是jdk1.6&#xff0c;mvc模式&#xff1a;接口 ----> 实现类。后来项目改成了jdk1.5&#xff0c;结果所有实…

单片机期末复习代码

1、左右来回循环的流水灯的电路连接见图4-6&#xff0c;显示规律如图4-7。实现本任务要求&#xff0c;可以有多种软件实现方法。下面列出了3种&#xff0c;具体如下 数组的字节操作实现 #include <reg51.h> #define uchar unsigned char uch…