搜档网
当前位置:搜档网 › 数字图像课设——数字水印

数字图像课设——数字水印

数字图像课设——数字水印
数字图像课设——数字水印

数字图像处理

课程设计报告

课设题目:数字水印

学院:信息科学与工程学院

专业:电子与信息工程

班级:

姓名:

学号:

指导教师:

2013 年12月27日

目录

一. 课程设计任务 (1)

二. 课程设计原理及设计方案 (2)

三. 课程设计的步骤和结果 (10)

四. 课程设计总结 (18)

五. 设计体会 (20)

六. 参考文献 (21)

一. 课程设计任务

设计内容及要求:

为保护数字图像作品的知识产权,采用数字水印技术嵌入水印图像于作品中,同时尽可能不影响作品的可用性,在作品版权发生争执时,通过提取水印信息确认作品版权。通常情况下,水印图像大小要远小于载体图像,嵌入水印后的图像可能遇到噪声、有损压缩、滤波等方面的攻击。因此,评价水印算法的原则就是水印的隐藏性和抗攻击性。根据这一要求,设计水印算法。

(1)、查阅文献、了解数字水印的基本概念。

(2)、深入理解一种简单的数字水印嵌入与提取方法。

(3)、能够显示水印嵌入前后的载体图像。

(4)、能够显示嵌入与提取的水印。

(5)、选择一种以上攻击方法,测试水印算法的鲁棒性等性能。

- 1 -

二. 课程设计原理及设计方案

2.1数字水印技术

数字水印技术是一种将特制的不可见的标记,利用数字内嵌的方法隐藏在数字图像、声音、文档、图书、视频等数字产品中, 用以证明原始作者对其作品的所有权, 并作为鉴定、起诉非法侵权的证据, 同时通过对水印的探测和分析, 验证数字信息的完整可靠性, 从而成为知识产权保护和数字多媒体防伪的有效手段。数字水印是永久镶嵌在其它数据( 宿主数据) 中具有可鉴别性的数字信号或模式, 而且不影响宿主数据的可用性。数字水印技术是利用人类视觉系统(HVS) 的冗余, 通过一定的算法在数字信息中加入不可见标记, 但不影响数据的合理使用和价值, 并且不能被人的知觉系统觉察到, 起到证明作品的版权归属的作用。除非对数字水印具有足够的先验知识, 任何破坏和消除水印的企图都将严重破坏图像质量。

不同的应用对数字水印的要求不尽相同, 一般认为数字水印应具有如下特点:

安全性:数字水印中的信息应是安全的, 难以被篡改或伪造, 同时有较低的误检测率。只有被授权者能够检测、恢复和修改水印。能充分可靠地证明所有者对特定产品的所有权。

隐形性:数字水印应是不可知觉的, 即数字水印的存在不应明显干扰被保护的数据, 不影响被保护数据的正常使用。

密匙唯一性: 不同的水印密匙不应产生相同的水印, 即对于一种水印只有唯一的检测方法才能对其进行检测和抽取。

稳健性(鲁棒性):指水印算法有较强的抗攻击能力, 即水印信息经过一些常见的改变后仍具有较好的可检测性。这些改变包括常见的图像处理、几何变换和几何失真等。

自恢复性:即水印信息经过一些操作或变换后,可能会使原图产生较大的破坏, 如果仅从留下的片段数据便能恢复出水印信息, 而且恢复过程无须原始图像。

- 2 -

具有上述特点的水印才是严格意义上的数字水印, 但由于对数字水印的定义尚未统一, 许多文献中讨论的数字水印并不具备上述特点, 或者仅具有部分上述特点。

水印的生成:

水印信号分为无意义水印信号和有意义水印信号两种。无意义水印信号的产生通常基于伪随机数发生器或混沌系统, 产生的水印信号往往需要进一步的变换以适应水印嵌入算法的需要。有意义水印信号包括二值图像、灰度图像和彩色图像等。有意义的图像可以直接作为水印嵌入到载体数据中, 但是为了增强水印的安全性, 一般需要先对水印进行加密预处理, 处理的方法包括使用m序列进行扩频、对水印信号进行位分解、利用图像的置乱对水印进行预处理等。

数字水印生成过程的一般流程如下:

图1:水印生成

水印提取:

水印的提取与检测是一个在有噪信道中弱信号的检测问题, 最终目的在于判断水印信号是否存在或把水印提取出来。在对提取的水印和原始的水印进行判断和检测的过程中, 可以通过输出一个0- 1 决策来判断水印有无。设C 为相关检测函数, W为原始水印, W*为提取水印, K 为密钥, d 为决策阈值

, 则有:

- 3 -

- 4 -

图2:水印提取

2.2数字水印常用算法

早期人们对数字水印的研究基本上都是基于空域的。空域水印算法是通过改变载体图像某些像素点的强度值/灰度值来嵌入水印信息,这些算法相对简单,实用性较强。由于空域算法比较形象直观,容易理解,且具有对遭受攻击的时间和空间位置的定位能力,因此空域算法主要是脆弱水印或半脆弱水印算法,鲁棒性水印相对较少。空域水印算法中比较典型的算法是最低有效位(LSB )。最低有效位算法LSB (Least Significant Bit ),其基本思想是用水印信息直接代替数字图像的最低位,水印信息通常是二值比特序列。Tirkel 等人最先提出了基于LSB 的数字水印算法。这种算法的优点是嵌入过程与提取过程都很简单且具有较好的不可见性和较大的信息隐藏量。但缺点也比较明显,由于最低有效位相对不重要,因此在其中嵌入的水印信息对噪声的抵抗能力差,而且易遭受攻击。

与空域水印算法相比,随后发展起来的变换域水印算法更受青睐。变换域水印算法是通过改变变换域系数来嵌入水印信息。变换域水印算法相比空间域水印算法具有很多优点:在变换域中嵌入的水印信号能量可以分布到空间域的所有像素上,有利于保证水印的不可见性;可以更方便地将人类视觉系统(HVS )的某些特性结合到水印算法中;可与国际数据压缩标准(如JPEG2000和MPEG 等)兼容,从而实现压缩域内的水印编码;鲁棒性比空域算法好,尤其对滤波、量化和压缩等攻击。实际上,变换域水印算法就是首先利用相应的变换方法(DFT 、DCT 、DWT 等)将数字图像的空间域数据转化为相应的频域系数;其次,根据待隐藏的信息类型,对其进行适当编码或变形;再次,确定某种规则或算法,用待隐藏的信息的相应数据去修改前面选定

的频域系数序列;最后,将数字图像的频域系数经相应的反变换转化为空间域数据。该类算法的隐藏和提取信息操作复杂,但抗攻击能力强,很适合于数字作品版权保护的数字水印技术中。1996年Cox等人提出第一个变换域水印算法之后,其良好的性能备受关注,很多研究者开始研究不同变换域下的水印算法,包括离散傅里叶变换(DFT)、离散余弦变换(DCT)和离散小波变换(DWT)域等的数字水印算法。其实变换域水印算法并不局限于这三种变换,只要某种信号变换形式能够很好地隐藏数字水印信息,就可以运用到数字水印系统中。

离散傅里叶变换(DFT)是利用图像的DFT的相位信息嵌入水印的方法,是线性系统分析的有力工具;而DWT法是利用小波变换将图像进行多分辨率分解,选择适当的小波系数嵌入水印。

离散余弦变换(DCT),任何连续的实对称函数的傅立叶变换中只含有余弦项,因此余弦变换与傅立叶变换一样有明确的物理意义,DCT变换避免了傅立叶变换中的复数运算,它是基于实数的正交变换。

通过DCT变换,对空间域的信号进行取样,然后把它们变换成一个等同的频率域表示形式。

二维DCT定义如下

M*N

其中x ,y 是采样域的空间坐标值,u ,

反变换(IDCT)定义如下

- 5 -

印相比, DCT域图像水印鲁棒性更强且与常用的图像压缩标准JPEG兼容,因而得到广泛的重视。一个简化的基于DCT的水印系统,在正向DCT后嵌入水印信息,再进行反向DCT变换,得到含有水印的图像。水印的提取也是在正向DCT之后进行。

DCT变换类型算法的关键问题在于它忽略了算法实现时造成的数据损失。在不对DCT系数进行任何扰动的时候,对其做DCT变换,再做反DCT 变换,它的值将落在各点数值的附近,误差很小,做少许的处理即可还原成原始数据。

2.3水印的嵌入算法

设CI 是M *N 大小的原始图像, SI 是水印图像大小为P *Q, M 和N 分别是P 和Q 的偶数倍。把水印SI 加载到图像CI 中, 算法分以下几步进行:

(1) 分块将CI 分解为( M/8) *( N/8) 个8 * 8大小的方块BCI m, n; 同时, 将SI 也分解为( M/8) *( N/8) 个方块BSI m, n , 1 <=m <=M/8, 1 <=n<= N/8。

( 2) DCT 变换对每一个BCI m, n , 进行DCT 变换:

DBCI’m, n = DCT( BCI m, n ) 。

(3) 加载水印,对每一个DBCI’m, n和BSI m, n , si 为从DBCI’m, n的中频选出的加载的位置, 对这两个系数按上述原则,根据水印信息进行比较,如果系数的绝对值相对大小不匹配水印信息,则强行对系数进行交换;

if i=0;

make |P|>|Q|; else

make |P|<|Q|;

(4) 逆DCT 变换对以上得到的每一个DBCI’m, n,进行逆DCT 变换: IDBCI

= IDCT( DBCI’m, n ) 。并将各方块IDBCI m, n 合并为一个整图CI, 即为加载m, n

了水印的新图像。

2.4水印的提取算法

水印提取的过程与嵌入相反,具体步骤为:

- 6 -

1)将待提取的图像进行分块并进行DCT变换;

2)将记录位置的中频系数比较其相对大小,判定出隐藏的水印信息,形成一维序列;

3)将提取的水印信息的一维序列重组成二维序列并形成恢复后的水印图像。

2.5中频系数的选择

由于DCT 域的低频分量集中了图像中的大部分能量, 通常系数值较大; 而高频系数值容易受到攻击的影响, 从而很难在不可感知性和鲁棒性之间作出折中。因此不选择置换DCT域的低频和高频系数,选择对中频系数进行置换来隐藏水印。

下图FL,FM,FH分别为

DCT系数的低、中、高频区域

图3:DCT中高低频区域

DCT后中频系数个数为22个, 如图下图所示。若全部嵌入,则由于该算法在同一图像块中嵌入过多水印, 这将使图像明显失真。另外该算法按之字形扫描后的十几个系数接近高频系数, 易受攻击影响, 降低水印的鲁棒性。为了克服上述缺陷,只在中频系数中选择典型的一组,即(1,3)和(1,3)为一组进行置换。

- 7 -

图4:DCT中频区

2.6彩色图像的水印添加及HSI模型

为了对彩色图像进行水印嵌入而不影响视觉效果,而将图片由rgb模型转化为HIS模型,通过对I分量进行分离,DCT,水印添加,反DCT,组合的方式,合成彩色的添加水印后的图像。

HSI〔Hue-Saturation-Intensity(Lightness),HSI或HSL〕颜色模型用H、S、I三参数描述颜色特性,其中H定义颜色的波长,称为色调;S表示颜色的深浅程度,称为饱和度;I表示强度或亮度

当人观察一个彩色物体时,用色调、饱和度、亮度来描述物体的颜色。色调是描述纯色的属性(纯黄色、橘黄或者红色);饱和度给出一种纯色被白光稀释的程度的度量;亮度是一个主观的描述,实际上,它是不可以测量的,体现了无色的强度概念,并且是描述彩色感觉的关键参数。而强度(灰度)是单色图像最有用的描述子,这个量是可以测量且很容易解释。则将提出的这个模型称作为HSI(色调、饱和度、强度)彩色模型,该模型可在彩色图像中从携带的彩色信息(色调和饱和度)里消去强度分量的影响,使得HSI模型成为开发基于彩色描述的图像处理方法的良好工具,而这种彩色描述对人来说是自然而直观的。

HSI模型是美国色彩学家孟塞尔(H.A.Munseu)于1915年提出的,它反映了人的视觉系统感知彩色的方式,以色调、饱和度和强度三种基本特征量来感

- 8 -

知颜色。

色调H(Hue):与光波的波长有关,它表示人的感官对不同颜色的感受,如红色、绿色、蓝色等,它也可表示一定范围的颜色,如暖色、冷色等。

饱和度S(Saturation):表示颜色的纯度,纯光谱色是完全饱和的,加入白光会稀释饱和度。饱和度越大,颜色看起来就会越鲜艳,反之亦然。

强度I(Intensity):对应成像亮度和图像灰度,是颜色的明亮程度。

HSI模型的建立基于两个重要的事实:①I分量与图像的彩色信息无关;②H和S分量与人感受颜色的方式是紧密相联的。这些特点使得HSI模型非常适合彩色特性检测与分析。

若将RGB单位立方体沿主对角线进行投影,可得到六边形,这样,原来沿主对角线的灰色都投影到中心白色点,而红色点(1,0,0)则位于右边的角上,绿色点(0,1,0)位于左上角,蓝色点(0,0,1) 则位于左下角。

下图是HSI颜色模型的双六棱锥表示,I是强度轴,色调H的角度范围为[0,2π],其中,纯红色的角度为0,纯绿色的角度为2π/3,纯蓝色的角度为4π/3。饱和度S是颜色空间任一点距I轴的距离。当然,若用圆表示RGB模型的投影,则HSI色度空间为双圆锥3D表示。

因而在处理彩色图像时,可仅对I分量进行处理,结果不改变原图像中的彩色种类。通过对

I分量添加水印,达到了隐藏不可见的效果。

- 9 -

- 10 -

三. 课程设计的步骤和结果

3.1整体UI 及模块设计

软件

UI 界面设计如下:

图6:软件UI

整体分为四大模块:图像显示部分、文件输入部分、攻击部分、水印提取保存部分,一下对各模块功能进行简单说明。

图像显示部分:

用三个坐标系,其中两个用于固定显示水印载体图像和水印图像,方便对比。另一较大坐标系用于显示添加水印后及攻击后和提取出的水印图片,为主显示窗口。

文件读入部分:

通过uigetfile 函数,实现读取任意路径下的图像文件,分别保存于handles 结构体中用于后面调用。同时对于水印的添加算法也在此模块中实现。对于水印添加,采用了两种方法,一种为依赖于密钥,及无水印图像的添加和提取,另一种为盲水印,即通过置换DCT 的中频系数进行水印隐藏,提取水印时无需密钥,但相对鲁棒性较差,受攻击后提取效果不如需密钥型清晰。

攻击部分:

进行了简单的中值滤波和jpg 压缩两种攻击方式,对攻击后的图片会自动

- 11 -

生成保存,同时显示在主显示窗中。

保存部分:

通过点击保存按钮可实现对水印添加后文件及受攻击后文件的保存。同时水印提取也在此模块中,根据添加水印的方式不同,提取方式同样分为两种,若为需密钥型水印,则必须打开无水印的载体图像才能将水印提取。

3.2水印嵌入及实现

3.2.1.密钥型水印嵌入

密钥型水印的嵌入方法,首先通过模型转化,将RGB 转化为HIS ,然后提取I 分量,对I 分量进行嵌入,这样可以做到肉眼不可见。对I 分量进行8*8的矩阵划分,对每个矩阵的全部元素,根据水印图像的黑白进行加或减,然后对处理后的矩阵做逆变换,拼合成为完整的I 矩阵,然后再对HIS 进行拼合转化为RGB

图像保存输出。

以下为水印图像

图7:密钥型水印嵌入

以下为部分实现代码:

for m = 1:N

for n = 1:N

x = (m-1)*K+1;

y = (n-1)*K+1;

block_dct = I(x:x+K-1,y:y+K-1);

block_dct1 = dct2( block_dct);

if J(m,n)==0

a = -1;

else

a = 1;

end

block_dct2 = block_dct1*(1+a*0.018);

block_idct = idct2(block_dct2);

D(x:x+K-1,y:y+K-1) = block_idct;

end

end

3.2.2无密钥水印嵌入

无密钥行水印嵌入是通过对DCT系数进行变换。对于DCT后的I分量,选取中频分量的典型值之一,这里选用了(1,3)和(3,1)进行交换。通过判断(1,3)和(3,1)的大小,若水印息为0,则总让二者中大的存于(3,1),小的存于(1,3),若水印信息为1,则正好相反。这样通过交换中频系数完成了水印的隐藏,并且利于提取。

以下为不需密钥型水印的嵌入:

- 12 -

图8:无密钥水印嵌入

通过观察发现,对于全部进行嵌入和中频系数交换两种方法,均可做到肉眼不可见。

以下为部分实现代码:

for m = 1:N

for n = 1:N

x = (m-1)*K+1;

y = (n-1)*K+1;

block_dct = I(x:x+K-1,y:y+K-1);

block_dct1 = dct2( block_dct);

A=abs( block_dct1(3,1));

if J(m,n)==0

if abs(block_dct1(1,3))>A

t=block_dct1(1,3);

- 13 -

block_dct1(1,3)=block_dct1(3,1);

block_dct1(3,1)=t;

end

else

if abs(block_dct1(1,3))<=A

t=block_dct1(1,3);

block_dct1(1,3)=block_dct1(3,1);

block_dct1(3,1)=t;

end

end

block_idct =idct2(block_dct1);

D(x:x+K-1,y:y+K-1) = block_idct;

end

end

3.3 水印提取及实现

3.3.1密钥水印提取

密钥水印的提取不需要进行DCT反变换后取回。因为I值与RGB和有关,故不需要进行变换,直接与原图进行比较即可。为增强鲁棒性,在比较中不采取直接比较,而且对划分好的矩阵灰度值进行统计,若大值大于小值,则认为此块矩阵大于原矩阵,则为水印图像在此处为加性运算,设为1,若小值大于大值,则认为此矩阵小于原矩阵,运算为减,设为0,由此即可区分。

由图可以看出未受攻击的水印通过密钥提取基本没有任何失真,成功的被提取出来。

以下为部分实现代码:

for p= 1: N

for q= 1:N

- 14 -

x = (p-1)*K+1;

y = (q-1)*K+1;

big = 0;

small = 0;

for j = 0:7

for k = 0:7

block1= IM(x+j,y+k);

block2= L(x+j,y+k);

if block1>block2

big = big+1;

else

small = small+1;

end

end

end

if big <= small

W(p,q) = 1;

else

W(p,q) = 0;

end

end

end

3.3.2无密钥水印提取

由无密钥水印的嵌入方法可知,只需要对含水印图片进行分块后进行DCT变换,对指定的中频系数进行比较即可。若(3,1)大于(1,3)则认为是

- 15 -

1值,若(3,1)小于(1,3)则认为是0值,由此可直接输出水印。

可以看出由于只进行单一的值比较,提取出的水印还是造成了一定的失真,相比含有密钥的水印清晰度及鲁棒性有待提高。

部分实现代码如下:

for p=1:N

for q=1:N

x=(p-1)*K+1;

y=(q-1)*K+1;

BLOCK=I(x:x+K-1,y:y+K-1);

BLOCK=dct2(BLOCK);

A=abs(BLOCK(3,1));

if abs(BLOCK(1,3))>A

W(p,q)=1;

else

W(p,q)=0;

end

end

end

3.4 水印攻击算法

Jpeg压缩攻击直接对图片进行压缩存储,即可实现。

中值滤波则使用medfilt2函数对RGB三值分别滤波,然后拼合成彩色图像的方式进行。

以下为密钥水印添加后攻击后提取效果:

- 16 -

由图片分析可以得出结论,相对中值滤波,jpg压缩的攻击方法对与图片的攻击更为强大,但是通过与密钥的对比,都能完成水印的提取,并且可辨识度比较高。

由图像对比可知,无密钥水印的鲁棒性相对较差,遭受攻击后提取的可辨识度不高,但辨识程度不受攻击种类影响,基本一致,而且无密钥水印方便提取,不一定必须有原图片,因此与密钥水印可以说是各有优劣。

- 17 -

数字图像处理实验报告完整版

数字图像处理 实验一 MATLAB数字图像处理初步 一、显示图像 1.利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中; 2.利用whos 命令提取该读入图像flower.tif的基本信息; 3.利用imshow()函数来显示这幅图像; 实验结果如下图: 源代码: >>I=imread('lily.tif') >> whos I >> imshow(I) 二、压缩图像 4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息; 5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。 6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。7.用imread()读入图像Sunset.jpg和Winter.jpg; 8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小; 9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。 其中9的实验结果如下图:

源代码: 4~6(接上面两个) >>I=imread('lily.tif') >> imfinfo 'lily.tif'; >> imwrite(I,'lily.jpg','quality',20); >> imwrite(I,'lily.bmp'); 7~9 >>I=imread('Sunset.jpg'); >>J=imread('Winter.jpg') >>imfinfo 'Sunset.jpg' >> imfinfo 'Winter.jpg' >>figure(1),imshow('Sunset.jpg') >>figure(2),imshow('Winter.jpg') 三、二值化图像 10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。实验结果如下图: 源代码: >> I=imread('lily.tif') >>gg=im2bw(I,0.4); F>>igure, imshow(gg)

数字图像处理 课程设计报告

数字图像处理 课程设计报告 姓名: 学号: 班级: 设计题目:图像处理 教师:赵哲老师 提交日期: 12月29日

一、设计内容: 主题:《图像处理》 详细说明:对图像进行处理(简单滤镜,模糊,锐化,高斯模糊等),对图像进行处理(上下对称,左右对称,单双色显示,亮暗程度调整等),对图像进行特效处理(反色,实色混合,色彩平衡,浮雕效果,素描效果,雾化效果等), 二、涉及知识内容: 1、二值化 2、各种滤波 3、算法等 三、设计流程图 四、实例分析及截图效果: 运行效果截图: 第一步:读取原图,并显示 close all;clear;clc; % 清楚工作窗口clc 清空变量clear 关闭打开的窗口close all I=imread(''); % 插入图片赋给I imshow(I);% 输出图I I1=rgb2gray(I);%图片变灰度图 figure%新建窗口 subplot(321);% 3行2列第一幅图 imhist(I1);%输出图片

title('原图直方图');%图片名称 一,图像处理模糊 H=fspecial('motion',40); %% 滤波算子模糊程度40 motion运动 q=imfilter(I,H,'replicate');%imfilter实现线性空间滤波函数,I图经过H滤波处理,replicate反复复制q1=rgb2gray(q); imhist(q1); title('模糊图直方图'); 二,图像处理锐化 H=fspecial('unsharp');%锐化滤波算子,unsharp不清晰的 qq=imfilter(I,H,'replicate'); qq1=rgb2gray(qq); imhist(qq1); title('锐化图直方图'); 三,图像处理浮雕(来源网络) %浮雕图 l=imread(''); f0=rgb2gray(l);%变灰度图 f1=imnoise(f0,'speckle',; %高斯噪声加入密度为的高斯乘性噪声 imnoise噪声污染图像函数 speckle斑点 f1=im2double(f1);%把图像数据类型转换为双精度浮点类型 h3=1/9.*[1 1 1;1 1 1;1 1 1]; %采用h3对图像f2进行卷积滤波 f4=conv2(f1,h3,'same'); %进行sobel滤波 h2=fspecial('sobel'); g3=filter2(h2,f1,'same');%卷积和多项式相乘 same相同的 k=mat2gray(g3);% 实现图像矩阵的归一化操作 四,图像处理素描(来源网络) f=imread(''); [VG,A,PPG] = colorgrad(f); ppg = im2uint8(PPG); ppgf = 255 - ppg; [M,N] = size(ppgf);T=200; ppgf1 = zeros(M,N); for ii = 1:M for jj = 1:N if ppgf(ii,jj)

数字图像处理实验报告

数字图像处理实验报告 实验一数字图像基本操作及灰度调整 一、实验目的 1)掌握读、写图像的基本方法。 2)掌握MATLAB语言中图像数据与信息的读取方法。 3)理解图像灰度变换处理在图像增强的作用。 4)掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方 法。 二、实验内容与要求 1.熟悉MATLAB语言中对图像数据读取,显示等基本函数 特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。 1)将MATLAB目录下work文件夹中的forest.tif图像文件读出.用到imread, imfinfo 等文件,观察一下图像数据,了解一下数字图像在MATLAB中的处理就是处理一个矩阵。将这个图像显示出来(用imshow)。尝试修改map颜色矩阵的值,再将图像显示出来,观察图像颜色的变化。 2)将MATLAB目录下work文件夹中的b747.jpg图像文件读出,用rgb2gray() 将其 转化为灰度图像,记为变量B。 2.图像灰度变换处理在图像增强的作用 读入不同情况的图像,请自己编程和调用Matlab函数用常用灰度变换函数对输入图像进行灰度变换,比较相应的处理效果。 3.绘制图像灰度直方图的方法,对图像进行均衡化处理 请自己编程和调用Matlab函数完成如下实验。 1)显示B的图像及灰度直方图,可以发现其灰度值集中在一段区域,用 imadjust函 数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰

度直方图与原灰度直方图的区别。 2) 对B 进行直方图均衡化处理,试比较与源图的异同。 3) 对B 进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。 图1.1 分段线性变换函数 三、实验原理与算法分析 1. 灰度变换 灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。 1) 图像反转 灰度级范围为[0, L-1]的图像反转可由下式获得 r L s --=1 2) 对数运算:有时原图的动态范围太大,超出某些显示设备的允许动态范围, 如直接使用原图,则一部分细节可能丢失。解决的方法是对原图进行灰度压缩,如对数变换: s = c log(1 + r ),c 为常数,r ≥ 0 3) 幂次变换: 0,0,≥≥=γγc cr s 4) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求 局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸: 其对应的数学表达式为:

数字图像处理实验报告

实验一灰度图像直方图统计 一、实验目的 掌握灰度图像直方图的概念和计算方法,了解直方图的作用和用途。提高学生编程能力,巩固所学知识。 二、实验内容和要求 (1)用Photoshop显示、了解图像平均明暗度和对比度等信息; (2)用MatLab读取和显示一幅灰度图像; (3)用MatLab编写直方图统计的程序。 三、实验步骤 1. 使用Photoshop显示直方图: 1)点击文件→打开,打开一幅图像; 2)对图像做增强处理,例如选择图像→调整→自动对比度对图像进行灰度拉伸,观察图像进行对比度增强前后的视觉变化。 3)利用统计灰度图像直方图的程序分别针对灰度拉伸前后的灰度图像绘制其灰度直方图,观察其前后的直方图变化。 2.用MatLab读取和显示一幅灰度图像; 3. 绘制图像的灰度直方图; function Display_Histogram()

Input=imread('timg.jpg'); figure(100); imshow(uint8(Input)); title('原始图像'); Input_Image=rgb2gray(Input); figure(200); imshow(uint8(Input_Image)); title('灰度图像'); sum=0; His_Image=zeros(1,256); [m,n]=size(Input_Image); for k=0:255 for I=1:m for j=1:n if Input_Image(I,j)==k His_Image(k+1)=His_Image(k+1)+1; end end end end figure(300); plot(His_Image); title('图像的灰度直方图'); 4.显示图像的灰度直方图。

电子科技大学-数字图像处理-课程设计报告

电子科技大学 数字图像处理课程设计 课题名称数字图像处理 院(系)通信与信息工程学院 专业通信工程 姓名 学号 起讫日期 指导教师

2015年12月15日 目录 摘要: (03) 课题一:图像的灰度级分辨率调整 (04) 课题二:噪声的叠加与频域低通滤波器应用 (06) 课题三:顶帽变换在图像阴影校正方面的应用 (13) 课题四:利用Hough变换检测图像中的直线 (15) 课题五:图像的阈值分割操作及区域属性 (20) 课题六:基于MATLAB?的GUI程序设计 (23)

结束语: (36) 参考文献: (37)

基于MATLAB?的数字图像处理课题设计 摘要 本文首先对数字图像处理的相关定义、概念、算法与常用变换进行了介绍;并通过七个课题实例,借助MATLAB?的图像处理工具箱(Computer Vision System Toolbox)对这些案例逐一实现,包括图像的灰度值调整、图像噪声的叠加、频域低通滤波器、阈值分割、Hough变换等,常用的图像变化与处理;然后通过MATLAB?的GUI程序设计,对部分功能进行模块化整合,设计出了数字图像处理的简易软件;最后给出了软件的帮助文件以及该简易程序的系统结构和m代码。 关键词:灰度值调整噪声图像变换 MATLAB? GUI设计

课题一:图像的灰度级分辨率调整 设计要求: 128,64,32,16,8,4,2,并在同一个figure窗将图像的灰度级分辨率调整至{} 口上将它们显示出来。 设计思路: 灰度级分辨率又称色阶,是指图像中可分辨的灰度级的数目,它与存储灰度级别所使用的数据类型有关。由于灰度级度量的是投射到传感器上的光辐射值的强度,所以灰度级分辨率又称为辐射计量分辨率。随着图像灰度级分辨率的的逐渐降低,图像中所包含的颜色数目将变得越来越少,从而在颜色维度造成图像信息量的退化。 MATLAB?提供了histeq函数用于图像灰度值的改变,调用格式如下: J = histeq(I,n) 其中J为变换后的图像,I为输入图像,n为变换的灰度值。依次改变n的值为 128、64、32、16、8、4、2 就可以得到灰度值分辨率为128、64、32、16、8、4、2 的输出图像。利用MATLAB?的subplot命令可以将不同灰度的图像放在同一个figure中方便对比。 课题实现: 该思路的MATLAB?源代码如下: in_photo=imread('lena.bmp'); %读入图片“lena.bmp”,位置在matlab当前工作区路径下D:\TempProject\Matlab\Works for i = [128,64,32,16,8,4,2] syms(['out_photo',num2str(i)]); %利用for循环定义7个变量,作为不同灰度值分辨率的输出变量 eval(['out_photo',num2str(i), '=histeq(in_photo,i)',';']); %histeq函数用于改变图像灰度值,用eval函数给变量循环赋值

东南大学数字图像处理实验报告

数字图像处理 实验报告 学号:04211734 姓名:付永钦 日期:2014/6/7 1.图像直方图统计 ①原理:灰度直方图是将数字图像的所有像素,按照灰度值的大小,统计其所出现的频度。 通常,灰度直方图的横坐标表示灰度值,纵坐标为半个像素个数,也可以采用某一灰度值的像素数占全图像素数的百分比作为纵坐标。 ②算法: clear all PS=imread('girl-grey1.jpg'); %读入JPG彩色图像文件figure(1);subplot(1,2,1);imshow(PS);title('原图像灰度图'); [m,n]=size(PS); %测量图像尺寸参数 GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 GP(k+1)=length(find(PS==k))/(m*n); %计算每级灰度出现的概率end figure(1);subplot(1,2,2);bar(0:255,GP,'g') %绘制直方图 axis([0 255 min(GP) max(GP)]); title('原图像直方图') xlabel('灰度值') ylabel('出现概率') ③处理结果:

原图像灰度图 100 200 0.005 0.010.0150.020.025 0.030.035 0.04原图像直方图 灰度值 出现概率 ④结果分析:由图可以看出,原图像的灰度直方图比较集中。 2. 图像的线性变换 ①原理:直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主 要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。从而达到清晰图像的目的。 ②算法: clear all %一,图像的预处理,读入彩色图像将其灰度化 PS=imread('girl-grey1.jpg'); figure(1);subplot(2,2,1);imshow(PS);title('原图像灰度图'); %二,绘制直方图 [m,n]=size(PS); %测量图像尺寸参数 GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255

数字图像处理课程设计报告

课程设计报告书课程名称:数字图像处理 题目:数字图像处理的傅里叶变换 学生姓名: 专业:计算机科学与技术 班别:计科本101班 学号: 指导老师: 日期: 2013 年 06 月 20 日

数字图像处理的傅里叶变换 1.课程设计目的和意义 (1)了解图像变换的意义和手段 (2)熟悉傅里叶变换的基本性质 (3)热练掌握FFT的方法反应用 (4)通过本实验掌握利用MATLAB编程实现数字图像的傅里叶变换 通过本次课程设计,掌握如何学习一门语言,如何进行资料查阅搜集,如何自己解决问题等方法,养成良好的学习习惯。扩展理论知识,培养综合设计能力。 2.课程设计内容 (1)熟悉并掌握傅立叶变换 (2)了解傅立叶变换在图像处理中的应用 (3)通过实验了解二维频谱的分布特点 (4)用MATLAB实现傅立叶变换仿真 3.课程设计背景与基本原理 傅里叶变换是可分离和正交变换中的一个特例,对图像的傅里叶变换将图像从图像空间变换到频率空间,从而可利用傅里叶频谱特性进行图像处理。从20世纪60年代傅里叶变换的快速算法提出来以后,傅里叶变换在信号处理和图像处理中都得到了广泛的使用。 3.1课程设计背景 数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。 3.2 傅里叶变换 (1)应用傅里叶变换进行数字图像处理 数字图像处理(digital image processing)是用计算机对图像信息进行处理的一门技术,使利用计算机对图像进行各种处理的技术和方法。 20世纪20年代,图像处理首次得到应用。20世纪60年代中期,随电子计算机的发展得到普遍应用。60年代末,图像处理技术不断完善,逐渐成为一个新兴的学科。利用数字图像处理主要是为了修改图形,改善图像质量,或是从图像中提起有效信息,还有利用数字图像处理可以对图像进行体积压缩,便于传输和保存。数字图像处理主要研究以下内容:傅立叶变换、小波变换等各种图像变换;对图像进行编码和压缩;采用各种方法对图像进行复原和增强;对图像进行分割、描述和识别等。随着技术的发展,数字图像处理主要应用于通讯技术、宇宙探索遥感技术和生物工程等领域。

数字图像处理课程设计

数字图像处理课程设计报告 目录 一.实验目的 (3) 二.实验内容............ ................... . (3) 1.打开图像 (3) (1)、图像信息获取 (3) (2). RgbtoHsi(&rgb, &Hsi) (4) (3).OnMouseMove(UINT nFlags, CPoint point) (4) 2.标记Mark点 (5)

(1)标记可能的点 (5) (2)把可能标记的点变为标记点 (5) (3) EdgeIformation边缘标记 (6) (4)EdgeFilter边缘滤波 (6) 3.二值化 (7) 4.填洞 (8) 5收缩 (10) 6获取中心点 (11) 三.学习心得 1.错误总结 (16) 2.心得体 会 (17) 一.实验目的: 对血液细胞切片图片进行各种处理,最终得出细胞的数目、半径等信息 基于vc的红细胞识别统计系统设计 它主要以病人的血液样本为原始数据。经过一系列的图像处理和分析,识别出血液中的红细胞,并能给出红细胞的个数。而得到红细胞的个数以后,通过血液量的检测,就可以得出血液中红细胞的密度。该系统可以很方便的利用在临床上,大大提高速度和效率。

二、实验内容 基于VC++6.0软件下的细胞识别,通过细胞的标记、二值化、提取边缘、填洞、收缩、找中心点、计数等过程完成实验目的 1 . 打开图像 (1)图像信息获取 该步骤实现的功能是打开bmp格式的图像文件,要对图像进行操作,系统必须能调用图像。 打开bmp图像的具体步骤为 1.新建项目:--MFC AppWizard、工程名 2.拷贝cdib.h,cdib.cpp到工程文件夹,再向工程里添加 3.~Doc.h添加变量:m_pDib 4.~doc.cpp:变量(m_pDib):new、delete 5.~doc.cpp: Serialize() 6.~View.cpp: OnDraw() m_pDib->Draw() 2.RgbtoHsi(&rgb, &Hsi)

数字图像处理报告

数字图像处理的起源与应用 1.概述 数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处理技术目前广泛应用于各个领域,其发挥的作用有效提高了人们的生产生活质量。 2.起源与发展 (1)20世纪 20 年代,数字图像处理最早应用于报纸行业。由于报纸行业信息传输的需要,一根海底电缆从英国伦敦连输到美国纽约,实现了第一幅数组照片的传送。(在当时那个年代如果不采用数字图像处理,一张图像传达的时间需要7 天,而借助数字图像处理技术仅耗费 3 小时)。 (2)20世纪50年代,当时的图像处理是以人为对象,以改善人的视觉效果为目的。 (3)20世纪60年代的美国喷气推进实验室是图像处理技术首次获得实际成功的应用,推动了数字图像处理这门学科的诞生。 (4)20世纪70年代英国EMI公司工程师Housfield发明了CT并获得了诺贝尔奖,这对人类的发展作出了划时代的贡献。借助计算机、人工智能等方面的快速发展,数字图像处理技术实现了更高层次的发展。相关工作人员已经着手研究如何使用计算机进行图像解释。 (5)20世纪 80 年代。研究人员将数字图像处理应用于地理信息系统。从这个阶段开始数字图像处理技术的应用领域不断扩大,在工业检测、遥感等方面也得到了广泛应用,在遥感方面实现了对卫星传送回来的图像的处理。 (6)20世纪 90 年代。数字图像处理技术就得到了一个快速发展,其中特别是小波理论和变换方法的诞生(Mallat在1988年有效地将小波分析应用于图像分解和重构),更好地实现了数字图像的分解与重构。 (7)进入到 21 世纪,借助计算机技术的飞速发展与各类理论的不断完善,数字图像处理技术的应用范围被拓宽,甚至已经在某些领域取得突破。从目前数字图像处理技术的特点进行分析,可以发现图像信息量巨大,在图像处理综合性方面显示出十分明显的优势,其中就借助了图像信息理论与通信理论的紧密联系。再加上数字图像处理技术具有处理精度高、灵活性强、再现性好、适用面广、信息压缩的潜力大等特点,因此已经成功地应用在各个领域。 3.应用 (1)航天和航空技术方面:早在1964年美国就利用图像处理技术对月球照片进行处理,并且成功地绘制出月球表面地图,这个重大的突破使得图像处理技术在航天技术中发挥着越来越重要的作用。“卡西尼”号飞船进入土星轨道后传回地球的土星环照片,“火星快车”拍摄到的火星山体滑坡照片,还有我国嫦娥探测器拍摄的月球表面照片,以及近来很火的“大疆”无人机航拍等等。这些照片都体现了数字图像处理技术在航空航天技术领域不可或缺的重要作用。 (2)遥感领域方面的应用:数字图像处理在遥感的应用,主要是获取地形地质及地面设施资料,矿藏探查、森林资源状况、海洋和农业等资源的调查、自然灾害预测预报、环境污染检测、气象卫星云图处理以及地面军事目标的识别。例

数字图像处理课程设计(实验报告)

上海理工大学 计算机工程学院 实验报告 实验名称红细胞数目统计课程名称数字图像处理 姓名王磊学号0916020226 日期2012-11-27 地点图文信息中心成绩教师韩彦芳

一、设计内容: 主题:《红细胞数目检测》 详细说明:读入红细胞图片,通过中值滤波,开运算,闭运算,以及贴标签等方法获得细胞个数。 二、现实意义: 细胞数目检测在现实生活中的意义主要体现在医学上的作用,可通过细胞数目的检测来查看并估计病人或动物的血液中细胞数,如估测血液中红细胞、白细胞、血小板、淋巴细胞等细胞的数目,同时也可检测癌细胞的数目来查看医疗效果,根据这一系列的指标来对病人或动物进行治疗,是具有极其重要的现实作用的。 三、涉及知识内容: 1、中值滤波 2、开运算 3、闭运算 4、二值化 5、贴标签 四、实例分析及截图效果: (1)代码如下: 1、程序中定义图像变量说明 (1)Image--------------------------------------------------------------原图变量;

(2)Image_BW-------------------------------------------------------值化图象; (3)Image_BW_medfilt-------------------------中值滤波后的二值化图像; (4)Optimized_Image_BW---通过“初次二值化图像”与“中值滤波后的二值化图像”进行“或”运算优化图像效果; (5)Reverse_Image_BW--------------------------优化后二值化图象取反;(6)Filled_Image_BW----------------------已填充背景色的二进制图像;(7)Open_Image_BW--------------------------------------开运算后的图像; 2、实现代码: %-------图片前期处理------------------- %第一步:读取原图,并显示 A = imread('E:\红细胞3.png'); Image=rgb2gray(A); %RGB转化成灰度图 figure,imshow(Image); title('【原图】'); %第二步:进行二值化 Theshold = graythresh(Image); %取得图象的全局域值 Image_BW = im2bw(Image,Theshold); %二值化图象 figure,imshow(Image_BW); title('【初次二值化图像】'); %第三步二值化图像进行中值滤波 Image_BW_medfilt= medfilt2(Image_BW,[13 13]); figure,imshow(Image_BW_medfilt); title('【中值滤波后的二值化图像】'); %第四步:通过“初次二值化图像”与“中值滤波后的二值化图像”进行“或”运算优化图像效果 Optimized_Image_BW = Image_BW_medfilt|Image_BW; figure,imshow(Optimized_Image_BW); title('【进行“或”运算优化图像效果】'); %第五步:优化后二值化图象取反,保证:‘1’-〉‘白色’,‘0’-〉‘黑色’ %方便下面的操作 Reverse_Image_BW = ~Optimized_Image_BW; figure,imshow(Reverse_Image_BW); title('【优化后二值化图象取反】');

数字图像处理实验报告

数字图像处理试验报告 实验二:数字图像的空间滤波和频域滤波 姓名:XX学号:2XXXXXXX 实验日期:2017 年4 月26 日 1.实验目的 1. 掌握图像滤波的基本定义及目的。 2. 理解空间域滤波的基本原理及方法。 3. 掌握进行图像的空域滤波的方法。 4. 掌握傅立叶变换及逆变换的基本原理方法。 5. 理解频域滤波的基本原理及方法。 6. 掌握进行图像的频域滤波的方法。 2.实验内容与要求 1. 平滑空间滤波: 1) 读出一幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一 图像窗口中。 2) 对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要 求在同一窗口中显示。 3) 使用函数 imfilter 时,分别采用不同的填充方法(或边界选项,如零填 充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图 像。 4) 运用 for 循环,将加有椒盐噪声的图像进行 10 次,20 次均值滤波,查看其特点, 显 示均值处理后的图像(提示:利用fspecial 函数的’average’类型生成均值滤波器)。 5) 对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处理,要 求在同一窗口中显示结果。 6) 自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。 2. 锐化空间滤波 1) 读出一幅图像,采用3×3 的拉普拉斯算子 w = [ 1, 1, 1; 1 – 8 1; 1, 1, 1] 对其进行滤波。 2) 编写函数w = genlaplacian(n),自动产生任一奇数尺寸n 的拉普拉斯算子,如5 ×5的拉普拉斯算子 w = [ 1 1 1 1 1 1 1 1 1 1 1 1 -24 1 1 1 1 1 1 1 1 1 1 1 1] 3) 分别采用5×5,9×9,15×15和25×25大小的拉普拉斯算子对

数字图像处理课程设计报告

本科综合课程设计报告 题 目 ____________________________ 指导教师__________________________ 辅导教师__________________________ 学生姓名__________________________ 学生学号__________________________ _______________________________ 院(部)____________________________专业________________班 ___2008___年 _12__月 _30__日 数字图像处理演示系统 信息科学与技术学院 通信工程 052

1 主要内容 1.1数字图像处理背景及应用 数字图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。目前,图像处理演示系统应用领域广泛医学、军事、科研、商业等领域。因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。本图像处理演示系统以数字图像处理理论为基础,对某些常用功能进行界面化设计,便于初级用户的操作。 1.2 图像处理演示系统设计要求 能加载和显示原始图像,显示和输出处理后的图像; 系统要便于维护和具备可扩展性; 界面友好便于操作; 1.3 图像处理演示系统设计任务 数字图像处理演示系统应该具备图像的几何变换(平移、缩放、旋转、翻转)、图像增强(空间域的平滑滤波与锐化滤波)的简单处理功能。 1.3.1几何变换 几何变换又称为几何运算,它是图像处理和图像分析的重要内容之一。通过几何运算,可以根据应用的需要使原图像产生大小、形状、和位置等各方面的变化。简单的说,几何变换可以改变像素点所在的几何位置,以及图像中各物体之间的空间位置关系,这种运算可以被看成是将各物体在图像内移动,特别是图像具有一定的规律性时,一个图像可以由另外一个图像通过几何变换来产生。实际上,一个不受约束的几何变换,可将输入图像的一个点变换到输出图像中的任意位置。几何变换不仅提供了产生某些特殊图像的可能,甚至还可以使图像处理程序设计简单化。从变换性质来分可以分为图像的位置变换、形状变换等 1.3.2图像增强 图像增强是数字图像处理的基本内容之一,其目的是根据应用需要突出图像中的某些“有用”的信息,削弱或去除不需要的信息,以达到扩大图像中不同物体特征之间的差别,使处理后的图像对于特定应用而言,比原始图像更合适,或者为图像的信息提取以及其他图像分析技术奠定了基础。一般情况下,经过增强处理后,图像的视觉效果会发生改变,这种变化意味着图像的视觉效果得到了改善,某些特定信息得到了增强。

数字图像处理课程设计报告

课程设计报告书 课程名称:数字图像处理 题目:数字图像处理的傅里叶变换 学生姓名: 专业:计算机科学与技术 班别:计科本101班 学号: 指导老师: 日期:2013 年06 月20 日 数字图像处理的傅里叶变换 1.课程设计目的和意义 (1)了解图像变换的意义和手段 (2)熟悉傅里叶变换的基本性质 (3)热练掌握FFT的方法反应用 (4)通过本实验掌握利用MATLAB编程实现数字图像的傅里叶变换 通过本次课程设计,掌握如何学习一门语言,如何进行资料查阅搜集,如何自己解决问题等方法,养成良好的学习习惯。扩展理论知识,培养综合设计能力。 2.课程设计内容 (1)熟悉并掌握傅立叶变换 (2)了解傅立叶变换在图像处理中的应用 (3)通过实验了解二维频谱的分布特点 (4)用MATLAB实现傅立叶变换仿真

3.课程设计背景与基本原理 傅里叶变换是可分离和正交变换中的一个特例,对图像的傅里叶变换将图像从图像空间变换到频率空间,从而可利用傅里叶频谱特性进行图像处理。从20世纪60年代傅里叶变换的快速算法提出来以后,傅里叶变换在信号处理和图像处理中都得到了广泛的使用。 3.1课程设计背景 数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。 3.2 傅里叶变换 (1)应用傅里叶变换进行数字图像处理 数字图像处理(digital image processing)是用计算机对图像信息进行处理的一门技术,使利用计算机对图像进行各种处理的技术和方法。 ? ??20世纪20年代,图像处理首次得到应用。20世纪60年代中期,随电子计算机的发展得到普遍应用。60年代末,图像处理技术不断完善,逐渐成为一个新兴的学科。利用数字图像处理主要是为了修改图形,改善图像质量,或是从图像中提起有效信息,还有利用数字图像处理可以对图像进行体积压缩,便于传输和保存。数字图像处理主要研究以下内容:傅立叶变换、小波变换等各种图像变换;对图像进行编码和压缩;采用各种方法对图像进行复原和增强;对图像进行分割、描述和识别等。随着技术的发展,数字图像处理主要应用于通讯技术、宇宙探索遥感技术和生物工程等领域。 傅里叶变换在数字图像处理中广泛用于频谱分析,傅里叶变换是线性系统分析的一个有力工具,它使我们能够定量地分析诸如数字化系统,采样点,电子放大器,卷积滤波器,噪声,显示点等地作用(效应)。傅里叶变换(FT)是数字图像处理技术的基础,其通过在时空域和频率域来回切换图像,对图像的信息特征进行提取和分析,简化了计算工作量,被喻为描述图像信息的第二种语言,广泛应用于图像变换,图像编码与压缩,图像分割,图像重建等。因此,对涉及数字图像处理的工作者,深入研究和掌握傅里叶变换及其扩展形式的特性,是很有价值得。 (2)关于傅里叶(Fourier)变换 在信号处理中,傅里叶变换可以将时域信号变到频域中进行处理,因此傅里叶变换在信号处理中有着特殊重要的地位。 傅里叶变换能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。傅里叶变换属于谐波分析。傅里叶变换的逆变换容易求出,而且形式与正变换非常类似;正弦基函数是微分运算的本征函数,从而使得线性微分方程的求解可以转化为常系数的代数方程的求解.在线性时不变的物理系统内,频率是个不变的性质,从而系统对于复杂激励的响应可以通过组合其对不同频率正弦信号

数字图像处理实验报告

数字图像处理实验 报告 学生姓名:学号: 专业年级: 09级电子信息工程二班

实验一常用MATLAB图像处理命令 一、实验内容 1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。 实验结果如右图: 代码如下: Subplot (1,3,1) i=imread('E:\数字图像处理\2.jpg') imshow(i) title('RGB') Subplot (1,3,2) j=rgb2gray(i) imshow(j) title('灰度') Subplot (1,3,3) k=im2bw(j,0.5) imshow(k) title('二值') 2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。 实验结果如右图: 代码如下: Subplot (3,2,1) i=imread('E:\数字图像处理 \16.jpg') x=imresize(i,[250,320]) imshow(x) title('原图x') Subplot (3,2,2) j=imread(''E:\数字图像处理 \17.jpg') y=imresize(j,[250,320]) imshow(y) title('原图y') Subplot (3,2,3) z=imadd(x,y) imshow(z)

title('相加结果');Subplot (3,2,4);z=imsubtract(x,y);imshow(z);title('相减结果') Subplot (3,2,5);z=immultiply(x,y);imshow(z);title('相乘结果') Subplot (3,2,6);z=imdivide(x,y);imshow(z);title('相除结果') 3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。 实验结果如右图: 代码如下: Subplot (2,2,1) i=imread('E:\数字图像处理 \23.jpg') imshow(i) title('原图') Subplot (2,2,2) J = imadjust(i,[],[],3); imshow(J) title('变暗') Subplot (2,2,3) J = imadjust(i,[],[],0.4) imshow(J) title('变亮') Subplot (2,2,4) J=255-i Imshow(J) title('变负') 二、实验总结 分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。 解答:图像减运算与图像加运算的原理和用法类似,同样要求两幅图像X、Y的大小类型相同,但是图像减运算imsubtract()有可能导致结果中出现负数,此时系统将负数统一置为零,即为黑色。 乘运算实际上是对两幅原始图像X、Y对应的像素点进行点乘(X.*Y),将结果输出到矩阵Z中,若乘以一个常数,将改变图像的亮度:若常数值大于1,则乘运算后的图像将会变亮;叵常数值小于是,则图像将会会暗。可用来改变图像的灰度级,实现灰度级变换,也可以用来遮住图像的某些部分,其典型应用是用于获得掩膜图像。 除运算操作与乘运算操作互为逆运算,就是对两幅图像的对应像素点进行点(X./Y), imdivide()同样可以通过除以一个常数来改变原始图像的亮度,可用来改变图像的灰度级,其典型运用是比值图像处理。 加法运算的一个重要应用是对同一场景的多幅图像求平均值 减法运算常用于检测变化及运动的物体,图像相减运算又称为图像差分运算,差分运算还可以用于消除图像背景,用于混合图像的分离。

数字图像处理报告

《数字图像处理》 实验报告 院系:XXXXX 学号:XXXXXXX 姓名:XXX 指导老师:XX XX 完成时间:2020.02.02

题目一: (1)将宽为2n的正方形图像,用FFT算法从空域变换到频域,并用频域图像的模来进行显示; (2)使图像能量中心,对应到几何中心,并用频域图像的模来进行显示; (3)将频域图象,通过FFT逆变换到空域,并显示。 该题实现环境为操作系统:Windows 10 操作系统;编程环境:VS2013;内部核心处理算法库:OpenCV。 此题目的具体实现过程及其展示如下所示:

} imshow("原始图像", srcImage); //将输入图像延扩到最佳的尺寸,边界用0补充 int m = getOptimalDFTSize(srcImage.rows); int n = getOptimalDFTSize(srcImage.cols); //将添加的像素初始化为0. Mat padded; copyMakeBorder(srcImage, padded,0, m - srcImage.rows,0, n -srcImage.cols, BORDER_CONSTANT, Scalar::all(0)); //为傅立叶变换的结果(实部和虚部)分配存储空间。 //将planes数组组合合并成一个多通道的数组complexI Mat planes[]={ Mat_(padded), Mat::zeros(padded.size(), CV_32F)}; Mat complexI; merge(planes,2, complexI); //进行就地离散傅里叶变换 dft(complexI, complexI); //将复数转换为幅值,即=> log(1 + sqrt(Re(DFT(I))^2 + Im(DFT(I))^2)) split(complexI, planes); // 将多通道数组complexI分离成几个单通道数组,planes[0] = Re(DFT(I), //planes[1] = Im(DFT(I))

数字图像处理课程设计

目录 1.课设目的 (1) 2.背景与基本原理 (1) 2.1背景 (1) 2.2基本原理 (1) 2.2.1基本概念 (1) 2.2.2基本策略: (2) 2.2.3边缘检测 (3) 2.2.4导数和噪声 (4) 2.2.5高斯拉普拉斯(LOG) (4) 2.2.6边缘连接和边缘检测 (4) 3.源代码 (5) 3.1对于只有车牌无车身的图像: (5) 3.2对于有车身和车牌连接的图像 (5) 4.处理结果 (6) 4.1对于只有车牌无车身的图像: (6) 4.2对于有车身和车牌连接的图像 (8) 5.心得体会 (9) 6.参考文献 (9)

1.课设目的 1)加强对数字图像处理的理解 2)了解图像分割的基本原理和应用 2.背景与基本原理 2.1背景 数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。 图像分割是一种重要的图像技术,在理论研究和实际应用中都得到了人们的广泛重视。图像分割的方法和种类有很多,有些分割运算可直接应用于任何图像,而另一些只能适用于特殊类别的图像。有些算法需要先对图像进行粗分割,因为他们需要从图像中提取出来的信息。许多不同种类的图像或景物都可作为待分割的图像数据,不同类型的图像,已经有相对应的分割方法对其分割,同时,某些分割方法也只是适合于某些特殊类型的图像分割。分割结果的好坏需要根据具体的场合及要求衡量。在本报告中是对车辆牌照中的文字和数字部分进行处理。 2.2基本原理 2.2.1基本概念 图像分割(Image Segmentation)是指将图像中具有特殊涵义的不同区域区分开来,这些区域是互相不交叉的,每一个区域都满足特定区域的一致性。图像分割是图像识别和图像理解的基本前提步骤

武汉科技大学 数字图像处理实验报告讲解

二○一四~二○一五学年第一学期电子信息工程系 实验报告书 班级:电子信息工程(DB)1102班姓名 学号: 课程名称:数字图像处理 二○一四年十一月一日

实验一图像直方图处理及灰度变换(2学时) 实验目的: 1. 掌握读、写、显示图像的基本方法。 2. 掌握图像直方图的概念、计算方法以及直方图归一化、均衡化方法。 3. 掌握图像灰度变换的基本方法,理解灰度变换对图像外观的改善效果。 实验内容: 1. 读入一幅图像,判断其是否为灰度图像,如果不是灰度图像,将其转化为灰度图像。 2. 完成灰度图像的直方图计算、直方图归一化、直方图均衡化等操作。 3. 完成灰度图像的灰度变换操作,如线性变换、伽马变换、阈值变换(二值化)等,分别使用不同参数观察灰度变换效果(对灰度直方图的影响)。 实验步骤: 1. 将图片转换为灰度图片,进行直方图均衡,并统计图像的直方图: I1=imread('pic.jpg'); %读取图像 I2=rgb2gray(I1); %将彩色图变成灰度图 subplot(3,2,1); imshow(I1); title('原图'); subplot(3,2,3); imshow(I2); title('灰度图'); subplot(3,2,4); imhist(I2); %统计直方图 title('统计直方图'); subplot(3,2,5); J=histeq(I2); %直方图均衡 imshow(J); title('直方图均衡'); subplot(3,2,6); imhist(J); title('统计直方图');

原 图 灰度图 01000 2000 3000统计直方图 100200直方图均衡 0统计直方图 100200 仿真分析: 将灰度图直方图均衡后,从图形上反映出细节更加丰富,图像动态范围增大,深色的地方颜色更深,浅色的地方颜色更前,对比更鲜明。从直方图上反应,暗部到亮部像素分布更加均匀。 2. 将图片进行阈值变换和灰度调整,并统计图像的直方图: I1=imread('rice.png'); I2=im2bw(I1,0.5); %选取阈值为0.5 I3=imadjust(I1,[0.3 0.9],[]); %设置灰度为0.3-0.9 subplot(3,2,1); imshow(I1); title('原图'); subplot(3,2,3); imshow(I2); title('阈值变换'); subplot(3,2,5); imshow(I3); title('灰度调整'); subplot(3,2,2); imhist(I1); title('统计直方图'); subplot(3,2,4);

相关主题