数字图像处理点运算和直方图处理
- 格式: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 点运算和直方图处理
一、实验目的
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.直方图均衡化后直方图为何并不平坦?为何灰度级会减少?
直方图使灰度级分布具有均匀概率密度,扩展了像素取值的动态范围
但减少了灰度级。