图像的代数运算
数字图像处理课程设计基于Matlab的数字图像处理
数字图像处理课程设计--基于Matlab的数字图像处理数字图像处理课程设计基于Matlab的数字图像处理——图像的运算院系信息技术学院专业班级电气6班学号 201107111282姓名何英娜指导教师章瑞平课程设计时间 2012年11月目录一、摘要 (3)二、图像代数运算1、1图像的加法运算 (4)1、2图像的减法运算 (4)1、3图像的除法运算 (4)1、4绝对差值运算 (7)1、 5 图像的求补运算 (7)3三、图像的几何运算2、1 图像插值 (7)2、2图像的旋转 (8)2、3图像的缩放 (9)2、4图像的投影变换 (10)2、4图像的剪切 (11)四、课程设计总结与体会 (13)五、参考文献 (14)摘要图像运算涵盖程序设计、图像点运算、代数运算、几何运算等多种运算;设计目的和任务:1、熟悉图像点运算、代数运算、几何运算的基本定义和常见方法;2、掌握在MTLAB中对图像进行点运算、代数运算、几何运算的方法3、掌握在MATLAB中进行插值的方法4、运用MATLAB语言进行图像的插值缩放和插值旋转5、学会运用图像的投影变换和图像的剪切46、进一步熟悉了解MATLAB语言的应用,将数字图像处理更好的应用于实际7、通过各类算法加强图像各种属性、一、图像的几何运算何运算图像代数运算是指对两幅或两幅以上输入图像对应的像素逐个进行和差积商运算以产生增强效果的图像。
图像运算是一种比较简单有效的增强处理手段是图像处理中常用方法。
四种图像处理代数运算的数学表达式如下:C(x,y)=A(x,y)+B(x,y)C(x,y)=A(x,y)-B(x,y)C(x,y)=A(x,y)*B(x,y)C(x,y)=A(x,y)/B(x,y)1图像加法运算一般用于多幅图像求平均效果,以便有效降低具有叠加性的随机噪声,在matlab中imadd用于图像相加,其调用格式为z=imadd(X,Y);程序演示如下:I=imread('rice.png');subplot(2,2,1),imshow(I),title('原图像1'); J=imread('cameraman.tif');subplot(2,2,2),imshow(J),title('原图像52');K=imadd(I,J,'uint16'););subplot(2,2,3),imshow(K,[]),title('相加后图像'2、图像减法运算也称差分运算,是用于检测图像变化及运动物体的方法;用imsubtract函数实现。
实验一 数字图像的基本操作与代数运算
实验一数字图像的基本操作与代数运算一、实验目的1、了解MATLAB语言的基本用法;2、掌握MATLAB语言中图像数据与信息的读写方法;3、熟悉在MA TLAB中对图像的类型、图像文件的格式进行转换的方法;4、理解数字图像处理中代数运算的基本作用;掌握在MTLAB中对图像进行代数运算的方法。
二、实验原理1、MATLAB与数字图像处理MATLAB全称是Matrix Laboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。
实际上MA TLAB 中的绝大多数的运算都是通过矩阵这一形式进行的。
这一特点也就决定了MATLAB在处理数字图像上的独特优势。
理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。
二维图像进行均匀采样,就可以得到一幅离散化成M×N样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。
而MA TLAB的长处就是处理矩阵运算,因此用MA TLAB处理数字图像非常的方便。
MATLAB支持五种图像类型,即索引图像、灰度图像、二值图像、RGB图像和多帧图像阵列;支持BMP、GIF、HDF、JPEG、PCX、PNG、TIFF、XWD、CUR、ICO等图像文件格式的读、写和显示。
MA TLAB对图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox)中。
图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作。
2、MATLAB语言的基本操作MATLAB语言是一种运算纸型的运算语言,其特点就是与平时在运算纸上书写运算的形式相同,这使得它成为一种比较容易掌握的语言;其变量均以矩阵向量形式表示(单独一个数据可以认为是一维向量);其程序语法类似于C语言,只要有一点C语言基础的人可以很快掌握。
图像的代数运算
图像的代数运算代数运算指的是两幅或者多幅图之间进⾏点对点的加减乘除运算最后输出图像的⼀个过程,如果输⼊图像为A(x,y),B(x,y),输出图像为:C(x,y)则有以下这⼏种形式:1.图像的加法运算主要应⽤举例:图像的叠加,利⽤均值算法去除“叠加性”的随机噪⾳。
2.图像的减法运算将不同时刻拍摄的同⼀个景⾊的图像进⾏相减,这就是图像的减法运算,实际当中也常常称为差影法。
差值图像提供了图像间的差值信息,能够⽤于指导动态监测,运动⽬标的监测和跟踪,图像背景的消除和⽬标识别等。
主要应⽤举例:1.差影法2.混合图像的分离(去除不需要的叠加的图像)这⼀节的理论⽐较的简单,只要理解其概念就好,我们的opencv代码实现在这⾥:⾸先导⼊opencv的包,同时写好读⼊图像的函数:import numpy as npimport cv2import matplotlib.pyplot as pltdef show(image):plt.imshow(image)plt.axis('off')plt.show()def imread(image):image=cv2.imread(image)image=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)return image开始图像的加法运算:image=imread('qwe.jpg')#⽣成和图像shape相同的图⽚,且全为100的数据M=np.ones(image.shape,dtype='uint8')*100image=cv2.add(M,image)show(image)图像的减法运算:image=imread('qwe.jpg')#⽣成和图像shape相同的图⽚,且全为100的数据M=np.ones(image.shape,dtype='uint8')*100image=cv2.subtract(M,image)show(image)这就是我们的加减运算了,代码实现以及原理都⼗分的简单。
实验三 图象的代数运算
实验三图像的代数运算一、实验目的1、了解代数运算的基本定义;2、掌握在MTLAB中对图像进行代数运算的方法;3、进一步熟悉了解MA TLAB语言的应用。
二、实验原理代数运算是指对两幅输入图像进行点对点的加、减、乘或除运算而得到输出图像的运算。
对于相加和相乘的情形,可能不止有两幅图像参加运算。
在一般情况下,输入情况之一可能为常数。
四种图像处理代数运算的数学表达式如下:=+C x y A x y B x y(,)(,)(,=-C x y A x y B x y(,)(,)(,=⨯C x y A x y B x y(,)(,)(,=÷C x y A x y B x y(,)(,)(,其中A(x,y)和B(x,y)为输入图像,而C(x,y)为输出图像。
还可以通过适当的组合形成涉及几幅图像的复合代数运算方程。
在MATLAB中,我们可以用函数简单的得到数字图像的图像数据矩阵(即A(x,y)和B(x,y)),有了这些矩阵后我们只要适当的设计代数运算的形式并写出方程,就可以得到一个输出图像的矩阵(即C(x,y))图像相加的一个重要应用是对同一场景的多幅图像求平均值。
这点被经常用来有效的降低加性随机噪声的影响。
在求平均值的过程中,图像的静止部分不会改变,而对每一幅图像,各不相同的噪声图案则过累积很慢。
对M幅图像进行平均,使图像中每一点的平方信噪比提高了M倍幅度信噪比是功率信噪比的平方根,因此达到了提高信噪比降低噪声的作用。
本次实验要求完成人为的往一幅图像中加入噪声,并通过多次相加求平均的方法消除所加入的噪声。
在MA TLAB中提供了给图像加入噪声的函数imnoiseimnoise的语法格式为J = imnoise(I,type)J = imnoise(I,type,parameters)其中J = imnoise(I,type)返回对原始图像I添加典型噪声的有噪图像J。
参数type和parameters用于确定噪声的类型和相应的参数。
数字图像处理期末复习试题及其答案
遥感与数字图像处理基础知识一、名词解释:数字影像:数字图像指用计算机存储和处理的图像,是一种空间坐标和灰度均不连续、以离散数学原理表达的图像。
空间域图像:由图像像元组成的空间频率域图像:以空间频率(即波数)为自变量描述图像的特征图像采样:将空间上连续的图像变换成离散点的操作称为采样灰度量化:将像素灰度值转换为整数灰度级的过程像素:数字图像最基本的单位是像素,像素是A/D转换中的取样点,是计算机图像处理的最小单元,每个像素具有特定的空间位置和属性特征二、填空题:1、光学图像是一个_____二维的连续的光密度______ 函数。
2、数字图像是一个_____二维的离散的光密度______ 函数。
3、光学图像转换成数字影像的过程包括________采样和量化_______ 等步骤。
4、一般来说,采样间距越大,图像数据量___越少_____,质量_____越差_____;反之亦然。
5、遥感分类中按遥感平台可分为__航天遥感__、__航空遥感__和__地面遥感__。
按传感器的探测波段可分为:__可见光遥感___、__红外遥感___和__微波遥感__。
按工作方式可分为:__主动遥感___和__被动遥感__。
6、遥感机理是通过利用__传感器__主动或被动地接受地面目标__太阳辐射的反射__或__自身反射__的__电磁波__,通过__非接触传感器__所传递的信息来识别目标,从而达到__遥测目标地物的几何与物理特性__的目的。
7、黑体的性质是吸收率为_1__,反射率为_0__。
8、水体的反射主要集中在__蓝绿__波段,其它波段吸收都很强,近红外吸收更强。
9、常见的遥感平台有__地面平台__、__航天平台__、__航空平台__、_____和__宇航平台__等。
10、通常把电磁波通过大气层时较少被反射、吸收或散射的,通过率较高的波段称为_大气窗口__。
11、ETM的全称是__(Enhanced Thematic Mapper)增强型专题制图仪__。
Matlab图像的代数运算与逻辑运算
1.imresize函数可将图像调整为指定的大小,语法格式为A=imresize(B,[m,n]),将B图像调整为m行n列的像素大小,A为输出图片。
J=imread('C:\Users\Yang\Desktop\1.jpg');J=imresize(J,[200,100]); %将图像调整为200行乘以100列个像素大小imshow(J)----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------图像的代数运算一.图像相加(imadd 函数)图像是矩阵,图像与图像相加也就是矩阵的相加,两个矩阵对应元素相加,故图像大小和类型必须保持一致。
图像与常数相加,是图像矩阵每个元素与该常数相加,相加之和(255为截断阈值)作为返回值。
格式:K=imadd(I,J); I,J是读入的两幅图像,二者中也可有一个是常数,K为相加之和。
I=imread('pears.png'); %读取图像I=imresize(I,[300,300]);%调整图像尺寸subplot(221),imshow(I);title('图1');J=imread('peppers.png'); %读取图像J=imresize(J,[300,300]);%调整图像尺寸subplot(222),imshow(J);title('图2');K1=imadd(I,J);subplot(223),imshow(K1);title('图像与图像相加')K2=imadd(J,100);title('图像与常数相加')图1与图2相加后,整体亮度变大,叠加效果较为明显,而图像与常数相加相当于在原始图像中每个像素上增加了常数个像素值。
图像基本运算-幻灯片
代数运算的四种基本形式
C ( x ,y ) A ( x ,y ) B ( x ,y ) C ( x ,y ) A ( x ,y ) B ( x ,y ) C ( x ,y ) A ( x ,y ) B ( x ,y )
20
3.3代数运算与逻辑运算 (Algebra and Logical Operation) 逻辑运算
主要应用举例: 图像的局部显示 改变图像的灰度级
图像的局部显示
36
3.3.3乘法运算(Multiplication)
改变图像的灰度级
(a) 原图
(b) 乘以1.2 图3.8 乘法运算结果
(c) 乘以2
37
3.3.4除法运算(Division)
除法运算 C ( x ,y ) A ( x ,y ) B ( x ,y )
输 L-1 出
灰
度
级 L/2
s
=0.04
=0.1 =0.4 =1 =2.5
=10.0
=25.0
0
L/2
L-1
输入灰度级r
不同的s=cr曲线及图像变换结果
加暗、减亮图像
=1.5
原始图像
=0.66
加亮、减暗图像
17
3.2.2非线性点运算(Non-Linear Point Operation)
加暗、减亮图像
32
图像相减——运动检测
33
3.3.2减法运算 (Subtraction )
混合图像的分离
(a)混合图像 (b)被减图像 (c)差影图
像
图3.6 差影法进行混合图像的分离
34
3.3.2减法运算 (Subtraction )
遥感题库答案
一、名词解释:1.RS:广义理解:泛指一切无接触的远距离探测。
狭义理解:是应用探测仪,不与探测目标相接触,从远处把目标的电磁波特性记录下来,通过分析,揭示出物体的特征、性质及其变化的综合探测技术。
2.大气窗口:通过大气而较少被反射、吸收或散射的透射率较高的电磁辐射波段。
3.密度分割:单波段黑白遥感图像可按亮度分层,对每层赋予不同的色彩,使之成为一幅彩色图像,这种方法叫做密度分割。
4.遥感影像地图:遥感影像地图是一种以遥感影像和一定的地图符号来表现制图对象地理空间分布和环境状况的地图。
5.高光谱遥感:是高光谱分辨率的遥感的简称,它是在电磁波谱的可见光,近红外、中红外和热红外波段范围内,获取许多非常窄的光谱连续的影像数据的技术。
6.瑞利散射与米氏散射:瑞利散射:当微粒的直径比辐射波长小得多时,此时的散射称为瑞利散射。
米氏散射:当微粒的直径与辐射波长差不多时的大气散射。
7.地物反射波谱:地物的反射率随入射波长变化的规律。
8.主动遥感与被动遥感:主动遥感由探测器主动发射一定电磁波能量并接收目标的后向散射信号。
被动遥感的传感器不向目标发射电磁波,仅被动接收目标物的自身发射和对自然辐射源的反射能量。
9.空间分辨率与时间分辨率:空间分辨率是指像素所代表的地物范围大小,即扫描仪的瞬时视场或地面物体能分辨的最小单元。
时间分辨率:只对同一地点进行遥感采样的时间间隔,即采样的时间频率也称重访周期。
10.空间滤波:以突出图像上的某些特征为目的,通过像元与周围相邻像元的关系,采取空间域中的邻域处理方法进行图像增强方法。
11.多光谱空间:就是一个n维坐标系,每一个坐标轴代表一个波段,坐标值为亮度值,坐标系内的每一个点代表一个像元。
12.多源信息复合:是将多种遥感平台,多时相遥感数据之间以及遥感数据与非遥感数据之间的信息组合匹配的技术。
13. 遥感平台:是搭载传感器的工具,根据运载工具的类型分为航天平台、航空平台和地面平台。
图像的基本运算
图像的基本运算图像的基本运算包括以下几类:图像的点运算;图像的代数运算;图像的几何运算;图像的逻辑运算和图像的插值。
下面将依次介绍这几种运算。
一、点运算点运算是指对一幅图像中每个像素点的灰度值进行计算的方法。
点运算通过对图像中每个像素值进行计算,改善图像显示效果的操作,也称对比度增强,对比度拉伸,灰度变换,可以表示为B(x,y)=f(A(x,y))。
这是一种像素的逐点运算,是原始图像与目标图像之间的映射关系,不改变图像像素的空间关系。
可以提高图像的对比度,增加轮廓线等。
可分为:(1)线性点运算:输出灰度级与输入灰度级之间呈线性关系。
(2)非线性点运算:输出灰度级与输入灰度级之间呈非线性关系。
二、代数运算代数运算是指将两幅或多幅图像通过对应像素之间的加、减、乘、除运算得到输出图像的方法。
对于相加和相乘的情形,可能不止有两幅图像参加运算。
如果记A(x,y)和B(x,y)为输入图像,C(x,y)为输出图像。
那么,四种代数运算的数学表达式如下:(1)C(x,y)=A(x,y)+B(x,y)加法运算可以实现以下两个目的:1.1去除叠加性随机噪声;1.2生成图像叠加效果。
(2)C(x,y)=A(x,y)-B(x,y)减法运算可以实现以下两个目的:2.1消除背景影响;2.2检查同一场景两幅图像之间的变化。
(3)C(x,y)=A(x,y)*B(x,y)乘法运算可以实现以下两个目的:3.1图像的局部显示;3.2图像的局部增强。
(4)C(x,y)=A(x,y)/B(x,y)乘法运算可以实现以下三个目的:4.1遥感图像的处理中;4.2消除图像数字化设备随空间变化的影响。
4.3校正成像设备的非线性影响。
还可以通过适当的组合形成涉及几幅图像的复合代数运算。
三、几何运算几何运算就是改变图像中物体对象(像素)之间的空间关系。
从变换性质来分,几何变换可以分为图像的位置变换(平移、镜像、旋转)、形状变换(放大、缩小)以及图像的复合变换等。
遥感数字图像处理代数运算
代数运算根据地物在不同波段的灰度差异,通过不同波段的代数运算产生新的“波段”作用:突出特定的地物信息产生新的地物信息代数运算1. 加、减、乘、除法运算2. 归一化指数3. 植被指数RVI, NDVI, DVI, PVI1.加减乘除运算B = B1+B2B = B1-B2B = B1/B2B = B1*B22. 归一化指数B = (B1 – B2)/(B1 + B2)3.植被指数,IR-近红外反射率,R-红色波段反射率RVI = IR/RNDVI = (IR – R)/(IR + R)DVI = IR – RPVI = 1.6225*IR – 2.2978*R + 11.0656or = 0.939*IR – 0.344*R + 0.09设参与运算的波段为B1和B2, 结果为BB1和B2为M*N的矩阵,计算结果B也是M*N的矩阵相同的像元进行计算,以加法运算为例:for(i = 0; i < M-1; i++)for(j = 0; j < N-1; j++)B[i, j] = B1[i, j] + B2[i, j]归一化植被指数和正交植被指数:for(i = 0; i < M-1; i++)for(j = 0; j < N-1; j++)NDVI[i, j] = (IR[i, j] - R[i, j])/(IR[i, j] + R[i, j])PVI[i, j] = 0.039*IR[i, j] - 0.344*R[i, j] + 0.09均值滤波(Mean filtering)均值滤波取每个领域像素值的平均作为该像素的新值。
优点:对高斯噪声比较有效不足:会造成图像模糊,削弱边缘和细节中值滤波(Median filtering)中值滤波取每个领域像素值的中均作为该像素的新值。
优点:对椒盐噪声比较有效,能保留部分细节信息,减少模糊不足:计算复杂,对随机噪声效果不好图像锐化(Image Sharpening)图像锐化提高边缘与周围像素之间的反差,用于突出图像中的地物边缘、轮廓或线状目标。
3-图像代数运算解析
=
-
g(x,y)
T1(x,y)
T2(x,y)
(c)图像的减法运算也可应用于求图像梯度函 数
梯度定义形式:
f (x, y)
i
f
j f
x y
梯度幅度| f (x, y) | (f )2 (f )2
x y
梯度幅度的近似计算:
| f (x, y) | max[| f (x, y) f (x 1, y) |,| f (x, y) f (x, y 1) |]
=
逻辑运算——异或
异或运算的定义(两个值相异结果为真) g(x,y) = f(x,y) h(x,y)
主要应用举例 获得相交子图像 绘制区别于背景的、可恢复的图形
逻辑运算——异或
获得相交子图像
=
M个图像的均值定义为:
g(x,y) = 1/M (g0(x,y)+g1(x,y)+…+ g M (x ,y)) 当:噪音h(x,y)i为互不相关,且均值
为0时,上述图象均值将降低噪音的 影响。
相加
Addition:
averaging for noise reduction
M=2
M=4
M=1 M=16
梯度幅度在边缘处很高; 在均匀的肌肉纤维的内部,梯度幅度很低。
梯度幅度图像
乘法运算
C(x,y) = A(x,y) * B(x,y)
主要应用举例 图像的局部显示
图像的局部显示
步骤: l)新建一个与原始图像大小相同的图层,图层
的类型仍然是一个图像文件,而且一般要求是一个二 值图像。
2)在新建图层上,由用户在屏幕上人工勾绘出 要进行增强处理的局部区域,这个区域可以是点、线、 面(闭合区域)或三者的组合。区域的确定也可以由 其它二值图像文件导入或由计算机图形文件(矢量) 经转换生成。
《数字图像处理》-教学大纲
《数字图像处理》课程教学大纲Digital image processing一、教学目标及教学要求数字图像处理课程是智能科学与技术、数字媒体技术等专业的专业必修课。
主要目标及要求是通过该课程的学习,使学生初步掌握数字图像处理的基本概念、基本原理、基本技术和基本处理方法,了解数字图像的获取、存储、传输、显示等方面的方法、技术及应用,为学习相关的数字媒体、视频媒体和机器视觉等课程,以及今后从事数字媒体、视频媒体、图像处理和计算机视觉等领域的技术研究与系统开发打下坚实的理论与技术基础。
二、本课程的重点和难点(一)课程教学重点教学重点内容包括:图像的表示,空间分辨率和灰度级分辨率,图像直方图和直方图均衡,基于空间平滑滤波的图像增强方法,基于空间锐化滤波的图像增强方法,图像的傅里叶频谱及其特性分析,图像编码模型、霍夫曼编码和变换编码,图像的边缘特征及其检测方法,彩色模型,二值形态学中的有腐蚀运算和膨胀运算。
(二)课程教学难点教学难点包括:直方图均衡,二维离散傅里叶变换的若干重要性质、图像的傅里叶频谱及其特性分析,变换编码,小波变换的概念、嵌入式零树小波编码,图像的纹理特征及其描述和提取方法,Matlab图像处理算法编程。
三、主要实践性教学环节及要求本课程的实验及实践性环节要求使用Matlab软件平台,编写程序实现相关的数字图像处理算法及功能,并进行实验验证。
课程实验与实践共10学时,分别为:实验一:图像基本运算实验(2学时)。
实验二:图像平滑滤波去噪实验(2学时)。
实验三:图像中值滤波去噪实验(2学时)。
实验四:图像边缘检测实验(2学时)。
相关图像处理算法的课堂演示验证(2学时)。
要求每个学生在总结实验准备、实验过程和收获体会的基础上,写出实验报告。
四、采用的教学手段和方法利用多媒体课件梳理课程内容和讲授思路,合理运用启发式教学方式激发学生的思考力,采用讨论式教学方式增强教学过程的互动效果,理论教授与应用实例编程实践相结合,提高学生的分析和解决问题的能力。
实验一 数字图像的基本操作与代数运算
Filename: 'D:\MATLAB6p1\toolbox\images\imdemos\rice.tif'
FileModDate: '26-Oct-1996 06:11:58' FileSize: 65966 Format: 'tif'
FormatVersion: [] Width: 256
实验一 数字图像的基本操作与代数运算
一、实验目的
1、 了解 MATLAB 语言的基本用法; 2、 掌握 MATLAB 语言中图像数据与信息的读写方法; 3、 熟悉在 MATLAB 中对图像的类型、图像文件的格式进行转换的方法; 4、 理解数字图像处理中代数运算的基本作用;掌握在 MTLAB 中对图像进行代数运算
(b)imwrite
imwrite 函数用于输出图像,其语法格式为:
imwrite(X, MAP, filename, fmfmt 指定的格式将图像数据矩阵 X 和调色板 MAP 写入文
件 filename。
(c)imfinfo
imfinfo 函数用于读取图像文件的有关信息,其语法格式为
主要介绍一下如何读取矩阵的指定行或指定列,举例说明: x=4:6 %产生一个一维数组,范围从 4 到 6,步长为 1
数字图像处理四个实验
数字图像处理实验指导书目录实验一MATLAB数字图像处理初步实验二图像的代数运算实验三图像增强-空间滤波实验四图像分割实验五形态学运算3实验一 MATLAB数字图像处理初步一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。
5.图像间如何转化。
二、实验原理及知识点1、数字图像的表示和类别一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。
灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。
例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。
因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。
图像关于x和y坐标以及振幅连续。
要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。
将坐标值数字化成为取样;将振幅数字化成为量化。
采样和量化的过程如图1所示。
因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。
图1 图像的采样和量化根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类:亮度图像(Intensity images)二值图像(Binary images)索引图像(Indexed images)RGB图像(RGB images)(1) 亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。
若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。
2.实验二 图像的基本运算
实验二 图像的基本运算一、实验目的与要求1. 掌握图像代数运算和几何变换的基本原理2. 了解图像代数运算和几何变换的简单应用及MATLAB 实现二、实验设备与软件1. PC 计算机系统2. MATLAB 软件,包括图像处理工具箱(Image Processing Toolbox)3. 实验图片三、实验原理及知识点1.图像的代数运算代数运算是指对两幅或两幅以上输入图像进行点对点的加、减、乘、除运算而得到目标图像的运算。
图像处理代数运算的4种基本形式如下:上式中,A(x,y)和B(x,y)是输入图像,C(x,y)是输出图像。
2.图像的缩放数字图像的比例缩放是指将给定的图像在x 方向和y 方向按相同的比例a 缩放,从而得到一幅新的图像,又称为全比例缩放。
如果x 方向和y 方向缩放的比例不同,则图像的比例缩放会改变图像像素间的相对位置,产生几何畸变。
设原始图像中的点A 0(x 0,y 0)比例缩放后,在新图像中的对应点为A 1(x 1,y 1),则A 0(x 0,y 0)和A 1(x 1,y 1)之间的坐标关系可表示如下:3.图像的旋转设原始图像的任意点A 0(x 0,y 0)经旋转角度ß以后得到新的位置A(x,y)。
图像的旋转可以用矩阵形式表示如下。
图像旋转之后也可以根据新点求解原始新点的坐标,其矩阵表示形式如下:101010100000,10011x a x x ax y a y y ay ⎛⎫⎛⎫⎛⎫=⎧ ⎪ ⎪⎪=⎨ ⎪ ⎪⎪=⎩ ⎪ ⎪⎪⎝⎭⎝⎭⎝⎭即00cos sin 0sin cos 010011x x y y ββββ⎛⎫⎛⎫⎛⎫ ⎪ ⎪⎪=- ⎪ ⎪⎪ ⎪ ⎪⎪⎝⎭⎝⎭⎝⎭四、实验内容及步骤1.图像的代数运算选择两幅图像,一幅是源图像,一幅为背景图像,采用正确的图像代数运算方法,分别实现图像叠加、混合图像的分离和图像的局部显示效果。
(1)选取两幅大小一样的图像(a).jpg 和,将两幅图像进行加法运算。
实验报告二 Matlab图像代数运算和几何变换
实验二Matlab图像代数运算和几何变换一、实验目的1、掌握不同图像类型的转换2、掌握图像代数运算和几何变换的方法;3、掌握灰度级插值法的实验方法。
二、实验内容1、练习图像类型转换的相关命令(ind2rgb,mat2gray,grayslice,rgb2gray,rgb2ind,im2bw,ind2gray,dither)(p69-73);2、练习课本6.3.2(p139-p143)图像代数运算的内容;3、练习图像平移 (p148),图像比例变换(p153),图像旋转(p156),图像镜像变换(p158),图像切割(p160)Matlab实现例题;4、练习灰度级插值法(p171)。
三、实验步骤和结果1、练习图像类型转换的相关命令(ind2rgb,mat2gray,grayslice,rgb2gray,rgb2ind,im2bw,ind2gray,dither)(1)mat2gray()函数I=imread('rice.png');>> J=filter2(fspecial('sobel'),I);>> K=mat2gray(J);>> imshow(I);>> figure,imshow(K)(2)、grayslice()函数>> I=imread('snowflakes.png');>> X=grayslice(I,16);>> imview(I)imview(X,jet(16))(3)、rgb2ind()函数> RGB=imread('peppers.png');>> imshow(RGB);>> figure,imshow(RGB)>> [X,map]=rgb2ind(RGB,128);>> figure,imshow(X,map) (4)、im2bw()函数>> load trees>> BW=im2bw(X,map,0.4);>> figure,imshow(X,map)>> figure,imshow(BW)(5)、ind2gray()函数load trees>> I=ind2gray(X,map);>> figure,imshow(X,map)>> figure,imshow(I)(6)、dither()函数>> RGB=imread('peppers.png'); >> [X,map]=rgb2ind(RGB,256); >> I=dither(RGB,map);>> BW=dither(I);>> imshow(RGB,map);>> figure,imshow(RGB,map); >> figure,imshow(BW)Result:(1)转换后图像(2)索引色图像(3)索引色图像(4)索引色图像(4)二值化后的图像(5)转换后的灰度图像(6)索引色图像(6)抖动转换图像2、练习课本6.3.2(p139-p143)图像代数运算的内容(1)加法运算I=imread('rice.png');>> figure(1),imshow(I,[])>> I2=imread('cameraman.tif')>> figure(2),imshow(I2,[])>> K=imadd(I,I2,'uint16');>> figure(3),imshow(K,[])>> I=imread('lena.bmp');>> I2=imadd(I,50);>> figure(1),imshow(I)>> figure(2),imshow(I2)(2)、减法运算>> I=imread('rice.png'); >> I2=imread('cameraman.tif'); >> I3=imsubtract(I,I2);>> figure,imview(I3)(3)乘法&除法运算>> I=imread('lena.bmp');>> I2=immultiply(I,0.5);>> figure,imshow(I)>> figure,imshow(I2)>> I3=immultiply(I,1.5);>> figure,imshow(I3)>> I4=imdivide(I,0.5);>> figure,imshow(I4)>> I5=imdivide(I,1);>> figure,imshow(I5)Result:(1)加法运算后的图像(1)加入常数后的图像(2)减法运算(3)乘以0.5后的图像乘以1后的图像除以0.5后的图像除以1后的图像3、练习图像平移 (p148),图像比例变换(p153),图像旋转(p156),图像镜像变换(p158),图像切割(p160)Matlab实现例题;(a)图像平移>> I=imread('trees.tif');>> figure,imshow(I)>> I=double(I);>> I_movesult=zeros(size(I));>> H=size(I);>> Move_x=50;>> Move_y=50;>>I_movesult(Move_x+1:H(1),Move_y+1:H(2))=I(1:H(1)-Move_x,1:H(2)-Move_y);>> figure,imshow(uint8(I_movesult))(b)图像比例变换J=imread('trees.tif');>> figure,imshow(J);>> X1=imresize(J,2);>> X2=imresize(J,0.5);>> figure,imshow(X1)>> figure,imshow(X2)(C)图像旋转变换>> I=imread('peppers.png');>> figure,imshow(I)>> X1=imrotate(I,30,'nearest');>> figure,imshow(uint8(X1))>> X2=imrotate(I,45,'nearest');>> figure,imshow(uint8(X2))>> X3=imrotate(I,60,'nearest');>> figure,imshow(uint8(X3))>> X4=imrotate(I,90,'nearest');>> figure,imshow(uint8(X4))(d)图像镜像变换>> I=imread('forest.tif');>> I=double(I);>> figure,imshow(uint8(I));>> H=size(I);>> figure(2),>> I2(1:H(1),1:H(2))=I(H(1):-1:1,1:H(2));>> imshow(uint8(I2));>> figure,imshow(uint8(I2));>> I3(1:H(1),1:H(2))=I(1:H(1),H(2):-1:1);>> figure,imshow(uint8(I3));>> I4(1:H(1),1:H(2))=I(H(1):-1:1,H(2):-1:1);>> figure,imshow(uint8(I4));(e)图像切割>> I1=imread('peppers.png');>> I2=imcrop(I1,[75 68 220 100]);>> imview(I2)I3=imcrop(I1,[30 40 120 100]);>> imview(I3)(a)平移后的图像(b)放大后图像(b)缩小后的图像(c)旋转30°后的图像旋转45°后的图像旋转60°后的图像旋转90°后的图像(d)原始图像垂直镜像水平镜像对角镜像(e)原始图像一次切割后图像二次切割后图像4、练习灰度级插值法(p171)>> I=imread('lena.bmp');>> X1=imresize(I,1);>> X2=imresize(I,1,'bilinear');>> X3=imresize(I,1,'bicubic');>> figure,imshow(X1)>> figure,imshow(X2)>> figure,imshow(X3)最近邻差值法双线性插值法三次插值法四、实验体会在本次实验中掌握不同图像类型的转换,掌握了转换函数及其语法格式,如ind2rgb()函数将索引图像转换成真彩色。
实验一 图像的代数运算
实验一图像的代数运算一、实验目的1.了解图像的算术运算在数字图像处理中的初步应用。
2.体会图像算术运算处理的过程和处理前后图像的变化。
二、实验原理图像的代数运算是图像的标准算术操作的实现方法,是两幅输入图像之间进行的点对点的加、减、乘、除运算后得到输出图像的过程。
注意:无论进行哪一种代数运算都要保证两幅输入图像的大小相等,且类型相同。
三、实验步骤1.图像的加法运算imadd函数的调用格式如下:Z = imadd(X,Y)其中,X和Y表示需要相加的两幅图像,返回值Z表示得到的加法操作结果。
I = imread(‘rice.tif’);J = imread(‘camerman.tif’);K = imadd(I,J);imshow(K);叠加结果如图2.2所示。
图2.1 待叠加的两幅图像图2.2 叠加后的图像效果给图像的每一个像素加上一个常数可以使图像的亮度增加。
例如,以下代码将增加图3(a)所示的RGB图像的亮度,加亮后的结果如图3(b)所示。
RGB = imread(‘flower.tif’);RGB2 = imadd(RGB,50);subplot(1,2,1);imshow(RGB);subplot(1,2,2);imshow(RGB2);原图加50 减50原图加50 减50图2.3 亮度增加与变暗两幅图像的像素值相加时产生的结果很可能超过图像数据类型所支持的最大值,尤其对于uint8类型的图像,溢出情况最为常见。
当数据值发生溢出时,imadd函数将数据截取为数据类型所支持的最大值,这种截取效果称之为饱和。
为了避免出现饱和现象,在进行加法计算前最好将图像转换为一种数据范围较宽的数据类型。
例如,在加法操作前将uint8图像转换为uint16类型。
2.图像的减法运算imsubtract函数的调用格式如下:Z = imsubtract(X,Y);其中,Z是X-Y操作的结果。
以下代码首先根据原始图像(如图2.4(a)所示)生成其背景亮度图像,然后再从原始图像中将背景亮度图像减去,从而生成图2.4(b)所示的图像:rice = imread(‘rice.tif’);background = (rice, str el(‘disk’,15));rice2 = imsubtract(rice, background);subplot(1,2,1);imshow(rice);subplot(1,2,2);imshow(rice2);图2.4 原始图像、减去背景图像如果希望从图像数据I的每一个像素减去一个常数,可以将上述调用格式中的Y替换为一个指定的常数值,例如:Z = imsubtract(I,50);减法操作有时会导致某些像素值变为一个负数,对于uint8或uint16类型的数据,如果发生这种情况,那么imsubtract函数自动将这些负数截取为0。
智能数字图像处理-原理与技术 第3章 图像的基本运算与变形处理
几何运算 ➢ 几何运算就是改变图像中物体对象(像素)之间的空间关系,几何变换可以分为 位置变换(平移、镜像、旋转)、形状变换(放大、缩小)等。
5
代数与逻辑运算作用
降低或消除噪声 检测两幅图像之间的变化 图像叠加或合成 确定物体边界位置处的梯度
4. 图像的几何运算
2. 图像的代数运算
5. 图像的缩放及插值
3. 图像的逻辑运算
6. 图像变形技术
3
1.图像的基本运算
根据运算基本数学特征,常用的图像基本运算有: ➢ 代数运算 ➢ 逻辑运算 ➢ 几何运算 ➢ 图像缩放 ➢ 图像插值运算
4
代数、逻辑、几何运算基本简介
代数运算 ➢ 代数运算是指将两幅图像通过对应像素之间的加、减、乘、除运算得到输出图 像的方法。 ➢ 可以通过适当的组合,构成复合代数运算
6
2. 图像的代数运算
四种基本的代数运算:
运算规则:像素位置不变,A和B对应位置的像素灰度(或者颜色)进行计算 代数运算作用:
迭加:合成图像 相减:运动物体检测 相乘:提取或删掉图像某部分 相除:遥感多光谱图像相除,抵消一些入射分量
7
加运算
加法运算:两幅图像对应像素的灰度值或彩色分量进行相加
否则置为0 。
12
乘运算实例
乘运算实例1:扣取水流区域
乘运算实例2:扣取前景目标
13
相除运算
除法运算:就是两幅图像对应像素的灰度值或彩色分量进行相除。简单的除法运算可用于 改变图像的灰度级。
如果除数为0, 结果置为0.
两个图像相除实例 运算规则:像素位置不变,A和B对应位置的像素灰度(或者颜色)进行相除运算 主要用途:除法运算可用于校正非线性畸变的成像设备。
图像复合代数运算器的设计与应用
C( , = K 】 ( ) K2 ( , ) x ) A z, ÷ B
其 中 , 、 为 权 系 数 ; 工, K K A( )和 B( )为 输 ,
入图像 ; ( , )为输 出图像 ; z表性 的应用是地形变 化的发 现及地 物光谱信 息
对遥感 图像 中 目标信息 的提取产 生积极的影响
l 图像 代 数 运 算 的基 本 原 理 及 应 用
1 1 图 像 代 数 运 算 的 基 本 原 理 . 4种 图 像 代 数 运 算 的 基 本 数 学 表 达 式 为
C( ) = K】 ( , )+ K , ) z, A 2 B(
在许多应用 中 , 得到静止 场景 的许多 幅图 要
像 是 可 能 的 , 些 图 像 可 以 是 不 同 时 间 同 一 波 段 这
的. 也可以是 同一时间不 同波段的 如果这些 图像
被 加 性 随 机 噪 声 源 所 污 染 , 可 通 过 对 多 幅 图 像 则 求 平均值来达到降噪 目的。 求平均值 的过程 中, 在 图像 的 静 止 部 分 不 会 改 变 , 对 每 一 幅 图 像 , 不 而 各 相同的图案则会累积得很慢 。 假 定 有 由 M 幅 图 像 组 成 的 一 集 合 , 像 的 形 图
度 级 范 围
而得到 更复杂的代数运算结果 对于相加 和相乘
的情 形 , 能 不 只 是 两 幅 图 像 参 加 运 算 。 图 像 复 可 合 代 数 运 算 器 不 仅 能 够 设 计 现 行 的 各 种 植 被 指 数
运算 的公 式 , 且可 以对 同一地 区的 多光谱 影像 而
进行任 意一种算术 四则 混合运 算 , 这项 研究 必将
理 过 程 , 时 涉 及 到 将 简 单 的 代 数 运 算 进 行 组 台 有
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二图像的代数运算
一、实验目的
1.了解图像的算术运算在数字图像处理中的初步应用。
2.体会图像算术运算处理的过程和处理前后图像的变化。
二、实验原理
图像的代数运算是图像的标准算术操作的实现方法,是两幅输入图像之间进行的点对点的加、减、乘、除运算后得到输出图像的过程。
使用MATLAB的基本算术符(+、-、*、/ 等)可以执行图像的算术操作,但是在此之前必须将图像转换为适合进行基本操作的双精度类型。
为了更方便地对图像进行操作,MATLAB 图像处理工具箱包含了一个能够实现所有非稀疏数值数据的算术操作的函数集合。
下表列举了所有图像处理工具箱中的图像代数运算函数。
表2-1 图像处理工具箱中的代数运算函数
函数名功能描述
Imabsdiff 两幅图像的绝对差值
Imadd 两幅图像的加法
Imcomplement 补足一幅图像
Imdivide 两幅图像的除法
Imlincomb 计算两幅图像的线性组合
Immultiply 两幅图像的乘法
imsubtract 两幅图像的减法
三、实验步骤及结果
步骤:
1.图像的加法运算
在MATLAB中,如果要进行两幅图像的加法,或者给一幅图像加上一个常数,可以调用imadd 函数来实现。
imadd函数将某一幅输入图像的每一个像素值与另一幅图像相应的像素值相加,返回相应的像素值之和作为输出图像。
imadd函数的调用格式如下:
Z = imadd(X,Y)
2.图像的减法运算
在MATLAB中,使用imsubtract函数可以将一幅图像从另一幅图像中减去,或者从一幅图像中减去一个常数。
imsubtract函数将一幅输入图像的像素值从另一幅输入图像相应的像素值中减去,再将这个结果作为输出图像相应的像素值。
imsubtract函数的调用格式如下:
Z = imsubtract(X,Y);
3. 图像的乘法运算
在MATLAB中,使用immultiply函数实现两幅图像的乘法。
immultiply函数将两幅图像相应的像素值进行元素对元素的乘法操作(MATLAB点乘),并将乘法的运算结果作为输出图形相应的像素值。
immulitply函数的调用格式如下:
Z = immulitply(X,Y)
4.图像的除法运算
在MATLAB中使用imdivide函数进行两幅图像的除法。
imdivide函数对两幅输入图像的所有相应像素执行元素对元素的除法操作(点除),并将得到的结果作为输出图像的相应像素值。
imdivide函数的调用格式如下:
Z = imdivide(X,Y)
5.图像的四则代数运算
可以综合使用多种图像代数运算函数来完成一系列的操作。
结果:
四、程序源代码
I = imread('8.jpg');
J = imread('9.jpg');
K = imadd(I,J);
subplot(3,4,1)
imshow(I);
title('原图');
subplot(3,4,2)
imshow(J);
title('副图');
subplot(3,4,3)
imshow(K);
title('加法图');
%给图像的每一个像素加上一个常数可以使图像的亮度增加
RGB = imread('8.jpg');
RGB2 = imadd(RGB,50);
subplot(3,4,4);imshow(RGB2);
title('加亮度');
%给图像的每一个像素减上一个常数可以使图像的亮度降低
RGB1 = imread('8.jpg');
RGB12 = imadd(RGB,-50);
subplot(3,4,5);imshow(RGB12);
title('减亮度');
%图像的减法运算
%生成其背景亮度图像,然后再从原始图像中将背景亮度图像减去rice = imread('8.jpg');
background = imerode(rice, strel('disk',15));
rice2 = imsubtract(rice, background);
subplot(3,4,6);imshow(rice2);
title('背景相减');
%图像的减法运算
%rice11 = imread('2.jpg');
%d2 = imread('7.jpg');
%rice21 = imsubtract(rice11, d2);
RI = imsubtract(I, J);
subplot(3,4,7);imshow(RI);
title('原副图片相减');
%图像的乘法运算
I1 = imread('9.jpg');
J1 = immultiply(I1,1.2);
subplot(3,4,8);imshow(I1);
title('原图2');
subplot(3,4,9);imshow(J1);
title('相乘');
%图像的除
Rice = imread('9.jpg');
I = double(rice);
J= I * 0.43 + 90;
Rice2 = uint8(J);
Ip = imdivide(rice, rice2); subplot(3,4,10);
Imshow(Ip);
title('相除');
%图像的四则代数运算
I11 = imread('8.jpg');
I12 = imread('9.jpg');
K11 = imdivide(imadd(I11,I12),4); subplot(3,4,11); imshow(K11);
title('四则运算');。