数字图像处理点运算和直方图处理
- 格式:doc
- 大小:264.50 KB
- 文档页数:6
第一部分数字图像处理实验一图像的点运算实验1.1 直方图一.实验目的1.熟悉matlab图像处理工具箱及直方图函数的使用;2.理解和掌握直方图原理和方法;二.实验设备1.PC机一台;2.软件matlab。
三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果观察图像matlab环境下的直方图分布。
(a)原始图像 (b)原始图像直方图六.实验报告要求1、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。
实验1.2 灰度均衡一.实验目的1.熟悉matlab图像处理工具箱中灰度均衡函数的使用;2.理解和掌握灰度均衡原理和实现方法;二.实验设备1.PC机一台;2.软件matlab;三.程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(2,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(2,2,3),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题a=histeq(I,256); %直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) %输出均衡化后图像title('均衡化后图像') %在均衡化后图像中加标题subplot(2,2,4),imhist(a) %输出均衡化后直方图title('均衡化后图像直方图') %在均衡化后直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
实验报告实验名称:图像处理姓名:刘强班级:电信1102学号:1404110128实验一图像变换实验——图像点运算、几何变换及正交变换一、实验条件PC机数字图像处理实验教学软件大量样图二、实验目的1、学习使用“数字图像处理实验教学软件系统”,能够进行图像处理方面的简单操作;2、熟悉图像点运算、几何变换及正交变换的基本原理,了解编程实现的具体步骤;3、观察图像的灰度直方图,明确直方图的作用与意义;4、观察图像点运算与几何变换的结果,比较不同参数条件下的变换效果;5、观察图像正交变换的结果,明确图像的空间频率分布情况。
三、实验原理1、图像灰度直方图、点运算与几何变换的基本原理及编程实现步骤图像灰度直方图就是数字图像处理中一个最简单、最有用的工具,它描述了一幅图像的灰度分布情况,为图像的相关处理操作提供了基本信息。
图像点运算就是一种简单而重要的处理技术,它能让用户改变图像数据占据的灰度范围。
点运算可以瞧作就是“从象素到象素”的复制操作,而这种复制操作就是通过灰度变换函数实现的。
如果输入图像为A(x,y),输出图像为B(x,y),则点运算可以表示为:B(x,y)=f[A(x,y)]其中f(x)被称为灰度变换(Gray Scale Transformation,GST)函数,它描述了输入灰度值与输出灰度值之间的转换关系。
一旦灰度变换函数确定,该点运算就完全确定下来了。
另外,点运算处理将改变图像的灰度直方图分布。
点运算又被称为对比度增强、对比度拉伸或灰度变换。
点运算一般包括灰度的线性变换、阈值变换、窗口变换、灰度拉伸与均衡等。
图像几何变换就是图像的一种基本变换,通常包括图像镜像变换、图像转置、图像平移、图像缩放与图像旋转等,其理论基础主要就是一些矩阵运算,详细原理可以参考有关书籍。
实验系统提供了图像灰度直方图、点运算与几何变换相关内容的文字说明,用户在操作过程中可以参考。
下面以图像点运算中的阈值变换为例给出编程实现的程序流程图,如下:2、图像正交变换的基本原理及编程实现步骤数字图像的处理方法主要有空域法与频域法,点运算与几何变换属于空域法。
《数字图像处理》课程教学大纲课程信息课程代码:课程名称:数字图像处理/Digital Image Process课程类型:专业任选课学时学分:48学时/3学分适用专业:计算机科学与技术开课部门:灾害信息工程系一、课程的地位、目的和任务本课程是计算机科学与技术本科专业任选课。
课程的主要内容包括:(1)数字图像处理的基本概念,包括数字图像格式,数字图像显示,灰度直方图,点运算,代数运算和几何运算等概念。
(2)介绍二维傅氏变换、离散余弦变换、离散图像变换和小波变换的基本原理与方法。
(3)重点介绍图像的增强方法,包括空间域方法和变换域方法。
(4)图像恢复和重建基本原理与方法。
(5)图像压缩编码的基本原理与方法以及一些国际标准。
(6)图像的分析和模式识别基本原理。
通过本课程的学习使学生掌握数字图像处理的基本概念、基本原理和实现方法和实用技术,了解数字图像处理基本应用和当前国内外的发展方向。
要求学生通过该课程学习,具备通过程序解决智能化检测与应用问题的初步能力,为在计算机视觉、模式识别等领域从事研究与开发打下扎实的理论基础。
二、课程与相关课程的联系与分工要求学生先修课程为:《C语言程序设计》、《数据结构》、《线性代数》、《高等数学》、《概率与数理统计》后继课程:生产实习三、教学内容与基本要求第一章概述1.教学内容1.1 数字图像的发展历史1.2 图像工程的概述1.3 数字图像处理的应用及其发展趋势1.4 VC++ 运行环境的介绍1.5 BMP文件的基本介绍2.重点难点VC运行环境;BMP文件格式;3.基本要求了解图像工程的概念;熟悉数字图像的应用领域;熟悉VC运行环境;掌握BMP文件结构形式;能够在vc环境下,从内存显示BMP图像。
第二章图像采集1.教学内容2.1.视觉过程2.2.成像中的空间关系2.3.光度学和亮度学2.4.采样和量化2.重点成像中的空间关系。
3.难点采样和量化。
4.基本要求了解视觉过程及其原理;掌握几何投影和齐次坐标下的成像变换;熟悉光强度、照度、景深等概念;了解成像模型;理解采样和量化的原理;掌握图像数字化的原理好过程。
第一部分数字图像处理实验一图像的点运算实验1.1 直方图一.实验目的1.熟悉matlab图像处理工具箱及直方图函数的使用;2.理解和掌握直方图原理和方法;二.实验设备1.PC机一台;2.软件matlab。
三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果观察图像matlab环境下的直方图分布。
(a)原始图像 (b)原始图像直方图六.实验报告要求1、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。
实验1.2 灰度均衡一.实验目的1.熟悉matlab图像处理工具箱中灰度均衡函数的使用;2.理解和掌握灰度均衡原理和实现方法;二.实验设备1.PC机一台;2.软件matlab;三.程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(2,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(2,2,3),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题a=histeq(I,256); %直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) %输出均衡化后图像title('均衡化后图像') %在均衡化后图像中加标题subplot(2,2,4),imhist(a) %输出均衡化后直方图title('均衡化后图像直方图') %在均衡化后直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
MATLAB数字图像处理实验--图像基本运算一、实验目的1.理解图像点运算、代数运算、几何运算的基本定义和常见方法;2.掌握在MTLAB中对图像进行点运算、代数运算、几何运算的方法;3.掌握在MATLAB中进行插值的方法4.运用MATLAB语言进行图像的插值缩放和插值旋转5.进一步熟悉了解MATLAB语言的应用。
二、实验设备与软件1.PC计算机系统2.MATLAB软件,包括图像处理工具箱(Image Processing Toolbox)3.实验图片三、实验内容及结果分析3.1图像的点运算选择pout.tif作为实验图像,实验原理及内容参照《MATLAB图像处理编程及应用》程序代码:I=imread('pout.tif');figure;subplot(1,3,1);imshow(I);title('原图');J=imadjust(I,[0.3;0.6],[0.1;0.9]);subplot(1,3,2);imshow(J);title('线性扩展');I1=double(I);I2=I1/255;C=2;K=C*log(1+I2);subplot(1,3,3);imshow(K);title('非线性扩展');M=255-I;figure;subplot(1,3,1);imshow(M);title('灰度倒置');N1=im2bw(I,0.4);N2=im2bw(I,0.7);subplot(1,3,2);imshow(N1);title('二值化阈值0.4');subplot(1,3,3);imshow(N2);title('二值化阈值0.7');执行结果:原图线性扩展非线性扩展灰度倒置二值化阈值0.4二值化阈值0.7实验1结果图3.2图像的代数运算选择两幅图像,一幅是原图像,一幅为背景图像,采用正确的图像代数运算方法,分别实现图像叠加、混合图像的分离和图像的局部显示效果。
《数字图像处理》实验内容及要求实验内容一、灰度图像的快速傅立叶变换1、 实验任务对一幅灰度图像实现快速傅立叶变换(DFT ),得到并显示出其频谱图,观察图像傅立叶变换的一些重要性质。
2、 实验条件微机一台、vc++6。
0集成开发环境。
3、实验原理傅立叶变换是一种常见的图像正交变换,通过变换可以减少图像数据的相关性,获取图像的整体特点,有利于用较少的数据量表示原始图像。
二维离散傅立叶变换的定义如下:112()00(,)(,)ux vy M N j M Nx y F u v f x y eπ---+===∑∑傅立叶反变换为:112()001(,)(,)ux vy M N j M Nu v f x y F u v eMNπ--+===∑∑式中变量u 、v 称为傅立叶变换的空间频率。
图像大小为M ×N.随着计算机技术和数字电路的迅速发展,离散傅立叶变换已经成为数字信号处理和图像处理的一种重要手段。
但是,离散傅立叶变换需要的计算量太大,运算时间长。
库里和图基提出的快速傅立叶变换大大减少了计算量和存储空间,因此本实验利用快速傅立叶变换来得到一幅灰度图像的频谱图。
快速傅立叶变换的基本思路是把序列分解成若干短序列,并与系数矩阵元素巧妙结合起来计算离散傅立叶变换.若按照奇偶序列将X(n)进行划分,设:()(2)()(21)g n x n h n x n =⎧⎨=+⎩ (n=0,1,2, (12)-)则一维傅立叶变换可以改写成下面的形式:1()()N mnNn X m x n W -==∑11220()()N N mn mnN N n n g n W h n W --===+∑∑ 1122(2)(21)(2)(21)NN m n m n N N n n x n W x n W --+===++∑∑1122022(2)(21)NN mn mn mN N N n n x n W x n W W --===++∑∑ =G(m)+mN W H(m)因此,一个求N 点的FFT 可以转换成两个求2N点的 FFT 。
《数字图像处理》教学大纲电子信息工程专业(本科)课程编号:()课程名称:数字图像处理参考学时:42 其中实验或上机学时:10说明部分1.课程的地位、性质和任务数字图像处理是一门迅速发展的新兴学科,发展的历史并不长。
由于图像是视觉的基础,而视觉又是人类重要的感知手段,故数字图像成为心理学、生理学、计算机科学等诸多方面学者研究视觉感知的有效工具。
随着计算机的发展,以及应用领域的不断加深和扩展,数字图像处理技术已取得长足的进展,出现了许多有关的新理论、新方法、新算法、新手段和新设备,并在军事公安、航空、航天、遥感、医学、通信、自控、天气预报以及教育、娱乐、管理等方面得到广泛的应用。
所以,数字图像处理是一门实用的学科,已成为电子信息、计算机科学及其相关专业的一个热门研究课题,相应《图像处理技术》也是一门重要的课程,是一门多学科交叉、理论性和实践性都很强的综合性课程。
本课程是电子信息工程专业的专业课。
本课程着重研究数字图像处理的方法,训练学生运用所学基础知识解决实际问题的能力,同时要求拓宽专业知识面。
2.课程教学的目的及意义数字图像处理是研究数字图像处理的基本理论、方法及其在智能化检测中应用的学科,本课程侧重于机器视觉中的预处理技术——数字图像基本处理,并对图像分析的基本理论和实际应用进行系统介绍。
目的是使学生系统掌握数字图像处理的基本概念、基本原理和实现方法和实用技术,了解数字图像处理基本应用和当前国内外的发展方向。
要求学生通过该课程学习,具备解决智能化检测与控制中应用问题的初步能力,为在计算机视觉、模式识别等领域从事研究与开发打下扎实的理论基础。
3.教学内容及教学要求教学内容:数字图像处理是计算机和电子学科的重要组成部分,是模式识别和人工智能理论的的中心研究内容。
主要教学内容包括:(1)数字图像处理的基本概念,包括数字图像格式,数字图像显示,灰度直方图,点运算,代数运算和几何运算等概念。
(2)介绍二维富氏变换离散余弦变换,离散图像变换和小波变换的基本原理与方法。
数字图像处理的基本原理和常用方法数字图像处理是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。
图像处理最早出现于20 世纪50 年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。
数字图像处理作为一门学科大约形成于20 世纪60 年代初期。
早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。
图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。
数字图像处理常用方法:1 )图像变换:由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。
因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理(如傅立叶变换可在频域中进行数字滤波处理)。
目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像处理中也有着广泛而有效的应用。
2 )图像编码压缩:图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。
压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。
编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。
3 )图像增强和复原:图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。
图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。
如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;如强化低频分量可减少图像中噪声影响。
图像复原要求对图像降质的原因有一定的了解,一般讲应根据降质过程建立“降质模型”,再采用某种滤波方法,恢复或重建原来的图像。
4 )图像分割:图像分割是数字图像处理中的关键技术之一。
图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。
实验1 点运算和直方图处理
一、实验目的
1. 掌握利用Matlab图像工具箱显示直方图的方法
2. 掌握运用点操作进行图像处理的基本原理。
3. 进一步理解利用点操作这一方法进行图像处理的特点。
4. 掌握利用Matlab图像工具箱进行直方图均衡化的基本方法。
二、实验的硬件、软件平台
硬件:计算机
软件:操作系统:WINDOWS 7
应用软件:MATLAB
三、实验内容及步骤
1. 了解Matlab图像工具箱的使用。
2. 利用Matlab图像工具箱对图像进行点操作,要求完成下列3个题目中
的至少2个。
⑴图1灰度范围偏小,且灰度偏低,改正之。
⑵图2暗处细节分辨不清,使其能看清楚。
⑶图3亮处细节分辨不清,使其能看清楚。
图1 图2 图3
3. 给出处理前后图像的直方图。
4. 利用MatLab图像处理工具箱中函数对以上图像进行直方图均衡化操
作,观察结果。
四、思考题
1. 点操作能完成哪些图像增强功能?
2. 直方图均衡化后直方图为何并不平坦?为何灰度级会减少?
五、实验报告要求
1.对点操作的原理进行说明。
2.给出程序清单和注释。
3.对处理过程和结果进行分析(包括对处理前后图像的直方图的分析)。
实验代码以及解读
点操作:
I = imread('POINT1.BMP')。
%读入图像
j=rgb2gray(I)。
%将图像转为灰度图像
INFO=IMFINFO('POINT1.BMP') %获取图片的格式、尺寸、颜色数量、修改时间等信息[l,r]=size(j)。
%图片大小
figure。
%建立一个图形框
subplot(221)
imshow(j) %在两行两列的第一个位置放置图片j title('POINT1.BMP') %给该图片加上标题POINT1.BMP
for m=1:l
for n=1:r %从第一个像素循环到最后一个像素p1(m,n)=j(m,n)*1.2。
%把各点乘上1.2得到p1图
end
end
for m=1:l
for n=1:r
p2(m,n)=j(m,n)*2。
%%把各点乘上2得到p2图
end
end
for m=1:l
for n=1:r
p3(m,n)=j(m,n)*2+50。
%把各点乘上2再加50得到p2图
end
end
subplot(222)
imshow(p1)
title('j(m,n)*1.2') %p1图放在第二个位置且冠名j(m,n)*1.2 subplot(223)
imshow(p2)
title('j(m,n)*2') %p1图放在第三个位置且冠名j(m,n)* 2 subplot(224)
imshow(p3)
title('j(m,n)*2+50') %p1图放在第四个位置且冠名j(m,n)*2+50 figure。
%建立一个新的窗口并且依次显示以上四个图的直方图
subplot(221),imhist(j,64)。
title('原图直方图')
%64代表把0-250的灰度范围分为64份
subplot(222),imhist(p1,64)。
title('j(m,n)*1.2')
subplot(223),imhist(p2,64)。
title('j(m,n)*2')
subplot(224),imhist(p3,64)。
title('j(m,n)*2+50')
%picture2 %这里把两个图片的点操作处理都放在了同一个程序里
I2 = imread('POINT2.BMP')。
%各语句意思同上
j2=rgb2gray(I2)。
INFO2=IMFINFO('POINT2.BMP')
[l2,r2]=size(j2)。
figure。
subplot(221)
imshow(j2)
title('POINT1.BMP')
for a=1:l2
for b=1:r2
q1(a,b)=j2(a,b)*1.2。
end
end
for a=1:l2
for b=1:r2
q2(a,b)=j2(a,b)*1.3。
end
end
for a=1:l2
for b=1:r2
q3(a,b)=j2(a,b)/2。
end
end
subplot(222)
imshow(q1)
title('j(m,n)*1.2')
subplot(223)
imshow(q2)
title('j(m,n)*2')
subplot(224)
imshow(q3)
title('j(m,n)*2+50')
figure。
subplot(221),imhist(j2,64)。
title('j2原图的直方图') subplot(222),imhist(q1,64)。
title('j(m,n)*1.2') subplot(223),imhist(q2,64)。
title('j(m,n)*2') subplot(224),imhist(q3,64)。
title('j(m,n)*2+50')
本程序共创建了四个窗口,分别是两个原图和处理后的图像对比,以及各图对应的直方图
POINT1.BMP
j(m,n)*1.2
j(m,n)*2j(m,n)*2+50
0j2原图的直方图
100
200
0j(m,n)*1.2
100
200
0j(m,n)*2
100
200
0j(m,n)*2+50
100
200
用函数
POINT2
histeq
POINT2.BMP 0100200
histeq
0100200
思考题
1.点操作能完成哪些图像增强功能?
点操作可以完成的图像增强功能包括灰度变换,直方图均衡化,直方
图规定化等空间域的处理
2.直方图均衡化后直方图为何并不平坦?为何灰度级会减少?
直方图使灰度级分布具有均匀概率密度,扩展了像素取值的动态范围
但减少了灰度级。