数字图像处理 Matlab版 作业1

合集下载

matlab 数字图像处理实验报告(五份)

matlab 数字图像处理实验报告(五份)

《数字图像处理实验报告》

实验一图像的增强

一.实验目的

1.熟悉图像在MATLAB下的读写、输出;

2.熟悉直方图;

3.熟悉图像的线性指数等;

4.熟悉图像的算术运算和几何变换。

二.实验仪器

计算机、MATLAB软件

三.实验原理

图像增强是指根据特定的需要突出图像中的重要信息,同时减弱或去除不需要的信息。从不同的途径获取的图像,通过进行适当的增强处理,可以将原本模糊不清甚至根本无法分辨的原始图像处理成清晰的富含大量有用信息的可使用图像。

其基本原理是:对一幅图像的灰度直方图,经过一定的变换之后,使其成为均匀或基本均匀的,即使得分布在每一个灰度等级上的像素个数.f=H等或基本相等。此方法是典刑的图像空间域技术处理,但是由于灰度直方图只是近似的概率密度函数,因此,当用离散的灰度等级做变换时,很难得到完全平坦均匀的结果。

频率域增强技术频率域增强是首先将图像从空间与变换到频域,然后进行各种各样的处理,再将所得到的结果进行反变换,从而达到图像处理的目的。常用的变换方法有傅里叶变换、DCT变换、沃尔什-哈达玛变换、小波变换等。假定原图像为f(x,y),经傅立叶变换

为F(u,v)。频率域增强就是选择合适的滤波器H(u,v)对F(u,v)的频谱成分进行处理,然后经逆傅立叶变换得到增强的图像。

四.实验内容及步骤

1.图像在MATLAB下的读写、输出;

实验过程:

>> I = imread('F:\image\624baf9dbcc4910a.jpg');

figure;imshow(I);title('Original Image');

数字图像处理及matlab实现源代码【1】

数字图像处理及matlab实现源代码【1】

% *-*--*-*-*-*-*-*-*-*-*-*-*图像处理*-*-*-*-*-*-*-*-*-*-*-*

%{

% (一)图像文件的读/写

A=imread('drum.jpg'); % 读入图像

imshow(A); % 显示图像

imwrite(A,'drum.jpg');

info=imfinfo('drum.jpg') % 查询图像文件信息

% 用colorbar函数将颜色条添加到坐标轴对象中

RGB=imread('drum.jpg');

I=rgb2gray(RGB); % 把RGB图像转换成灰度图像

h=[1 2 1;0 0 0;-1 -2 -1];

I2=filter2(h,I);

imshow(I2,[]);

colorbar('vert') % 将颜色条添加到坐标轴对象中

% wrap函数将图像作为纹理进行映射

A=imread('4.jpg');

imshow(A);

I=rgb2gray(RGB);

[x,y,z]=sphere;

warp(x,y,z,I); % 用warp函数将图像作为纹理进行映射

%}

% subimage函数实现一个图形窗口中显示多幅图像

RGB=imread('drum.jpg');

I=rgb2gray(RGB);

subplot(1,2,1);

subimage(RGB); % subimage函数实现一个图形窗口中显示多幅图像subplot(1,2,2),subimage(I);

% *-*--*-*-*-*-*-*-*-*-*-*-*图像处理*-*-*-*-*-*-*-*-*-*-*-*

数字图像处理及应用(MATLAB)第1章习题答案

数字图像处理及应用(MATLAB)第1章习题答案

第一章:习题与思考题参考答案

1-1 什么是数字图像? 数字图像处理有哪些特点?

数字图像是将连续的模拟图像经过离散化处理后变成计算机能够辨识的点阵图像。

数字图像处理具有以下特点:

(1)处理精度高,再现性好。

(2)易于控制处理效果。

(3)处理的多样性。

(4)数字图像中各个像素间的相关性大,压缩的潜力很大。

(5)图像数据量庞大。

(6) 占用的频带较宽。

(7) 图像质量评价受主观因素的影响。

(8)图像处理技术综合性强。

1-2 数字图像处理的目的及主要内容。

一般而言,对图像进行处理主要有以下三个方面的目的

(1) 提高图像的视感质量,以达到赏心悦目的目的。

(2) 提取图像中所包含的某些特征或特殊信息,以便于计算机分析。

(3) 对图像数据进行变换、编码和压缩,以便于图像的存储和传输。

数字图像处理的主要研究内容:根据其主要的处理流程与处理目标大致可以分为图像信息的描述、图像信息的处理、图像信息的分析、图像信息的编码以及图像信息的显示等几个方面。如:图像数字化、图像增强、图像几何变换、图像复原、图像重建、图像隐藏、图像正交变换、图像编码、图像分析等。

1-3 数字图像处理的主要应用

图像处理技术广泛用于众多的科学与工程领域,主要有:

(1)生物医学领域中的应用

(2)工业应用

(3)遥感航天中的应用

(4)军事、公安领域中的应用

(5)其他应用,例如:图像的远距离通信;多媒体计算机系统及应用;服装试穿显示;办公自动化、现场视频管理

1-4 在理想情况下获得一幅数字图像时,采样和量化间隔越小,图像的画面效果越好,当一幅图像的数据量被限定在一个范围内时,如何考虑图像的采样和量化使得图像的质量尽可能好。

《数字图像处理》习题参考答案

《数字图像处理》习题参考答案

1

《数字图像处理》 习题参考答案

第1章概述

1.1连续图像和数字图像如何相互转换?

答:数字图像将图像看成是许多大小相同、

形状一致的像素组成。这样,数字图像可以

用二维矩阵表示。将自然界的图像通过光学系统成像并由电子器件或系统转化为模拟图像 (连续图像)信号,再由模拟 /数字转化器(ADC )得到原始的数字图像信号。图像的数字

化包括离散和量化两个主要步骤。

在空间将连续坐标过程称为离散化,

而进一步将图像的幅

度值(可能是灰度或色彩)整数化的过程称为量化。

1.2采用数字图像处理有何优点?

答:数字图像处理与光学等

模拟方式相比具有以下鲜明的特点:

1 •具有数字信号处理技术共有的特点。

(1)处理精度高。(2)重现性能好。(3)灵活

性高。

2•数字图像处理后的图像是供人观察和评价的,也可能作为机器视觉的预处理结果。 3•数字图像处理技术适用面宽。 4 •数字图像处理技术综合性强。 1.3数字图像处理主要包括哪些研究内容?

答:图像处理的任务是将客观世界的景象进

行获取并转化为数字图像、进行增强、变换、

编码、恢复、重建、编码和压缩、分割等处理,它将一幅图像转化为另一幅具有新的意义的 图像。

1.4讨论数字图像处理系统的组成。列举你熟悉的图像处理系统并分析它们的组成和功能。 答:如图1.8,数字图像处理系统是应用计算机或专用数字设备对图像信息进行处理的 信息系统。图像处理系统包括图像

处理硬件和图像处理软件。

图像处理硬件主要由图像输入

设备、图像运算处理设备(微计算机) 、图像存储器、图像输出设备等组成。软件系统包括

数字图像处理MATLAB程序【完整版】

数字图像处理MATLAB程序【完整版】

第一部分数字图像处理

实验一图像的点运算

实验1.1直方图

一.实验目的

1 •熟悉matlab图像处理工具箱及直方图函数的使用;

2•理解和掌握直方图原理和方法;

二.实验设备

1. PC 机一台;

2.软件matlab。

三.程序设计

在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。l=imread('camerama n.tif);% 读取图像

subplot(1,2,1),imshow(l) % 输出图像

title(' 原始图像')% 在原始图像中加标题subplot(1,2,2),imhist(l) % 输出原图直方图

title(' 原始图像直方图')%在原图直方图上加标题

四.实验步骤

1. 启动matlab

双击桌面matlab图标启动matlab 环境;

2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,

如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;

3•浏览源程序并理解含义;

4. 运行,观察显示结果;

5. 结束运行,退出;

五.实验结果

观察图像matlab环境下的直方图分布。

(a)原始图像(b) 原始图像直方图

六.实验报告要求

1、给出实验原理过程及实现代码;

2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2灰度均衡

一.实验目的

1 .熟悉matlab图像处理工具箱中灰度均衡函数的使用;

2•理解和掌握灰度均衡原理和实现方法;

二.实验设备

数字图像处理实验1 MATLAB图像处理编程基础 实验报告

数字图像处理实验1  MATLAB图像处理编程基础 实验报告

实验报告

课程名称数字图像处理

实验项目MATLAB图像处理编程基础指导教师

学院光电信息与通信工程__

专业电子信息工程

班级/学号

学生姓名______ __________

实验日期______ _

成绩______________________

实验1 MATLAB图像处理编程基础

一、实验目的

1.了解MATLAB产品体系和了解MATLAB图像处理工具箱。

2.掌握MATLAB的基本应用方法。

3.掌握MATLAB图像存储/图像数据类型/图像类型。

4.掌握图像文件的读/写/信息查询。

5.掌握图像显示--显示多幅图像、4种图像类型的显示方法、特殊

图像的显示技术

6.编程实现图像类型间的转换和图像算术操作。

二、实验的硬件、软件平台

硬件:计算机

软件:操作系统:Windows XP

应用软件:MATLAB 7.0.1

三、MATLAB图像处理工具箱的功能

图像处理工具箱是一个函数的集合,它扩展了matlab数值计算环境的能力。这个工具箱支持了大量图像处理操作,包括:

空间图像变换 Spatial image transformations

形态操作 Morphological operations

邻域和块操作 Neighborhood and block operations

线性滤波和滤波器设计 Linear filtering and filter design

格式变换 Transforms

图像分析和增强 Image analysis and enhancement

图像登记 Image registration

清晰化处理 Deblurring

matlab图像处理教程1

matlab图像处理教程1

基本概念一点通

从理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。空间坐标(x,y)的数字化称为图像采样,而幅值数字化称为灰度级量化。

对一幅图像采样时,若每行(横向)采样数为M,每列(纵向)采样数为N,则图像大小为M*N个像素,f(x,y)表示点(x,y) 处的灰度值,则F(x,y)构成一个M*N 实数矩阵

****************************

经验分享:“像素”的英文为“pixel”,它是“picture”和“element”的合成词,表示图像元素的意思。我们可以对“像素”进行如下理解:像素是一个面积概念,是构成数字图像的最小单位。****************************

把采样后所得的各像素灰度值从模拟量到离散量的转换称为图像灰度的量化。量化是对图像幅度坐标的离散化,它决定了图像的幅度分辨率。

量化的方法包括:分层量化、均匀量化和非均匀量化。分层量化是把每一个离散样本的连续灰度值只分成有限多的层次;均匀量化是把原图像灰度层次从最暗至最亮均匀分为有限个层次,如果采用不均匀分层就称为非均匀量化。

当图像的采样点数一定时,采用不同量化级数的图像质量不一样。量化级数越多,图像质量越好;量化级数越少,图像质量越差。量化级数小的极端情况就是二值图像。

****************************

经验分享:“灰度”可以认为是图像色彩亮度的深浅。图像所能够展现的灰度级越多,也就意味着图像可以表现更强的色彩层次。如果把黑——灰——白连续变化的灰度值量化为256个灰度级,灰度值的范围为0~255,表示亮度从深到浅,对应图像中的颜色为从黑到白。

数字图像处理 Matlab版 作业1

数字图像处理 Matlab版 作业1

K30=imfinfo('image2-30.jpg'); >> image_byte_30=K30.Width*K30.Height*K30.BitDepth/8; >> CMP_bytes=K30.FileSize; >> CMP_R30=image_byte_30/CMP_bytes CMP_R30 = 13.6140
>> y=[MSE0,MSE1,MSE2,MSE3,MSE4,MSE5]; >> x=[0,10,20,30,40,50]; >> plot(x,y) >> SNR0=10*LOG10(255^2/MSE0)
Warning: Could not find an exact (case-sensitive) match for 'LOG10'.
读入一幅灰度bmp图像1显示读入的bmp图像2将图像保存为jpg文件质量控制参数分别取值为010203040503显示q0和50对应的jpg图像4计算不同q值对应的压缩比用plot函数画出q与压缩比的关系曲线5计算不同q值对应的信噪比用plot函数画出q与信噪比的关系曲线atlab源代码fimread?image2bmp?
10
20
30
40
50
>> subplot(1,1,1)

数字图像处理MATLAB程序完整版

数字图像处理MATLAB程序完整版

第一部分数字图像处理

实验一图像的点运算

实验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机一台;

MATLAB数字图像处理基础实验

MATLAB数字图像处理基础实验

MATLAB数字图像处理基础实验(转)

一、实验目的

1、复习MATLAB语言的基本用法;

2、掌握MATLAB语言中图象数据与信息的读取方法;

3、掌握在MATLAB中绘制灰度直方图的方法,了解灰度直方图的均衡化的方法。

二、实验原理

MATLAB是集数值计算,符号运算及图形处理等强大功能于一体的科学计算语言。作为强大的科学计算平台,它几乎能够满足所有的计算需求。

MATLAB软件具有很强的开放性和适用性。在保持内核不变的情况下,MATLAB可以针对不同的应用学科推出相应的工具箱(toolbox)。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、概率统计、信号处理、图像处理和物理仿真等,都在工具箱(Toolbox)家族中有自己的一席之地。在实验中我们主要用到MATLAB提供图象处理工具箱(Image Processing Toolbox)。

1、MATLAB与数字图像处理

MATLAB全称是Matrix Laboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。实际上MATLAB 中的绝大多数的运算都是通过矩阵这一形式进行的。这一特点也就决定了MATLAB在处理数字图像上的独特优势。理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。二维图像进行均匀采样,就可以得到一幅离散化成M×N样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。而MATLAB的长处就是处理矩阵运算,因此用MATLAB处理数字图像非常的方便。

数字图像处理课后第一次作业

数字图像处理课后第一次作业

数字图像处理课后第⼀次作业

1、完成课本习题3.2(a)(b), 课本中⽂版《处理》第⼆版的113页。可以通过matlab 帮助你

分析理解。

解:(a)

s =T(r)=11+(m r ?)E

其中,r 为输⼊图像亮度,s 为输出图像的相应亮度,E 控制该函数的斜率。

(b) L 是图像中灰度的级数,使m=L/2;若假定L=500,则m=250。使⽤matlab 对

E 分别为10,15,20,100时的情况进⾏分析,最后可得到如下结果:

图1 matlab 分析结果

2、⼀幅8灰度级图像具有如下所⽰的直⽅图,求直⽅图均衡后的灰度级和对应概率,并画出均衡后的直⽅图的⽰意图。(计算中取整采⽤四舍五⼊⽅法,图中的8个不同灰度级对应的归⼀化直⽅图为[0.17 0.25 0.21 0.16 0.07 0.08 0.04 0.02])

解:直⽅图均衡化的变换函数为s k =T (r k )=∑p r (r i )k i=0 0≤r k ≤1;k =0,1,…7 故可算得变化函数s 0计:

s0计= T(r0)=0.17 s1计=0.17+0.25=0.42

s2计=0.63 s3计=0.79

s4计=0.86 s5计=0.94

s6计=0.98 s7计=1.00

但考虑到输出图像灰度是等间隔的,且与原图像灰度范围⼀样取8个等级,即要求s k=i/7(i=0,1,2,3…7)。因此需要对s k计进⾏修正,采⽤四舍五⼊法可得s0并=1/7 s1并=3/7

s2并=4/7 s3并=6/7

s4并=6/7 s5并=1

s6并=1 s7并=1

数字图像处理实验(MATLAB版)

数字图像处理实验(MATLAB版)

数字图像处理实验(MATLAB版)

数字图像处理(MATLAB版)

实验指导书

(试用版)

湖北师范学院教育信息与技术学院

2009年4月试行

目录

实验一、数字图像获取和格式转换 2 实验二、图像亮度变换和空间滤波 6 实验三、频域处理7 实验四、图像复原9 实验五、彩色图像处理10

实验六、图像压缩11 实验七、图像分割13 教材与参考文献14

《数字图像处理》实验指导书

实验一、数字图像获取和格式转换

一、实验目的

1掌握使用扫描仪、数码相机、数码摄像级机、电脑摄像头等数字化设备以及计算机获取数字图像的方法;

2修改图像的存储格式;并比较不同压缩格式图像的数据量的大小。

二、实验原理

数字图像获取设备的主要性能指标有x、y方向的分辨率、色彩分辨率(色彩位数)、扫描幅面和接口方式等。各类设备都标明了它的光学分辨率和最大分辨率。分辨率的单位是dpi,dpi是英文Dot Per Inch的缩写,意思是每英寸的像素点数。

扫描仪扫描图像的步骤是:首先将欲扫描的原稿正面朝下铺在扫描仪的玻璃板上,原稿可以是文字稿件或者图纸照片;然后启

动扫描仪驱动程序后,安装在扫描仪内部的可移动光源开始扫描原稿。为了均匀照亮稿件,扫描仪光源为长条形,并沿y方向扫过整个原稿;照射到原稿上的光线经反射后穿过一个很窄的缝隙,形成沿x方向的光带,又经过一组反光镜,由光学透镜聚焦并进入分光镜,经过棱镜和红绿蓝三色滤色镜得到的RGB三条彩色光带分别照到各自的CCD 上,CCD将RGB光带转变为模拟电子信号,此信号又被A/D变换器转变为数字电子信号。至此,反映原稿图像的光信号转变为计算机能够接受的二进制数字电子信号,最后通过串行或者并行等接口送至计算机。扫描仪每扫一行就得到原稿x方向一行的图像信息,随着沿y方向的移动,在计算机内部逐步形成原稿的全图。扫描仪工作原理见图1.1。

《数字图像处理》大作业

《数字图像处理》大作业

1. 图像处理与计算机图形学的区别与联系是什么?

答:数字图像处理,是指有计算机及其它有关的数字技术,对图像施加某种运算和处理,从而达到某种预期的目的,而计算机图形学是研究采用计算机生成,处理和显示图形的一门科学。

两者区别:

(1)研究对象不同,计算机图形学研究的研究对象是能在人的视觉系统中产生视觉印象的事物,包括自然景物,拍摄的图片,用数学方法描述的图形等,而数字图像处理研究对象是图像;

(2)研究内容不同,计算机图像学研究内容为图像生成,透视,消阴等,而数字图像处理研究内容为图像处理,图像分割,图像透析等;

(3)研究过程不同,计算机图像学是由数学公式生成仿真图形或图像,而数字图像处理是由原始图像处理出分析结果,计算机图形与图像处理是逆过程。

两者的联系:图像处理需图形学的交互手段,图形学需要图像处理合成图像,两者有重叠。

2. 图像数字化过程中的失真有那些原因?就在减少图像失真和减少

图像的数据量两者之间如何取得平衡,谈谈个人的看法。

答:图像数字化过程中失真的原因主要来自三个方面:

一.采样频率太低,即未满足采样定理而造成的失真;

二.外部和内部噪声的影响,例如外部的电磁波、机械运动等;

三.用有限个灰度值表示自然界无限连续的灰度值必然造成失真,为了减小失真必然增加采样点,即增加图像数据量。

在减少图像失真和减少图像的数据量两者之间取得平衡,要根据图像需求保留有用信息,如军事图像只需保留反应地形地貌及目标的信息,普通照片只需满足视觉要求即可。

3. 一幅模拟彩色图像经平板扫描仪扫描后获得一幅彩色数字图像,

MATLAB数字图像处理实验--图像基本运算

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);

数字图像处理期末试题参考答案

数字图像处理期末试题参考答案

1.用matlab进行图像变换,公式:s=L-1-r

答:

clear;clc;

f=imread('source.jpg');%该图像是一幅灰度图像

subplot(211);

imshow(f);

title('原始灰度图像');

s=f;

f=double(f);

s=256-1-f;

subplot(212);

imshow(uint8(s),[]);

title('变换后的图像')

2.图1显示了512×512像素尺寸的黑色背景叠加一个20×20像素尺寸的白色矩形。此图像在傅里叶变换的计算之前乘以(-1)x+y,从而可以使频率关于中心谱对称,用matlab对图1进行变换

答:编程

f=zeros(512,512);

f(246:266,246:266)=1;

F=fft2(f,512,512) ;

F2=fftshift(F);

imshow(log(abs(F2)),[-1 5]);colormap(jet);colorbar;

-0.5

00.511.522.533.544.5

3.试给出把灰度范围[0,10]伸长为[0,15],把范围[10,20]伸长为[15,25],并把范围[20,30]压缩为[25,30]的变换方程。 答:

由()[]c a y x f a

b c

d y x g +---=,)(

),(得 (1)、3(,)(,)2g x y f x y ⎡⎤=*⎢⎥⎣⎦

(2)、5),(),(+=y x f y x g (3)、15),(5.0),(+=y x f y x g

4、设一幅图像具有表1所示的概率分布,对其分别进行直方图均衡化和规定化,要求规定化的图像具有表2所示的灰度级分布。

数字图像处理教程(matlab版)

数字图像处理教程(matlab版)

原图像
水平镜像图像
垂直镜像图像
/3、图像的几何变换
三、图像转置
A=imread('nir.bmp'); tform=maketform('affine',[0 1 0;1 0 0;0 0 1]); B=imtransform(A,tform,'nearest'); figure;imshow(A); figure;imshow(B);imwrite(B,'nir转置后图像.bmp');
I=imread('nir.bmp');%读入图像
F=fft2(im2double(I));%FFT F=fftshift(F);%FFT频谱平移
F=abs(F); T=log(F+1);%频谱对数变换 figure;imshow(F,[]);title('未经变换的频谱'); figure;imshow(T,[]);title('对数变换后');
DA

DMax A0
DA
Hi
i0
[J,T]=histeq(I);%J为输出图像,T为变换矩阵
图像易受光照、视角、方位、噪声等的影响。使得同一类图像的不同变形 体之间的差距有时大于该类图像与另一类图像之间的差距,影响图像识别、 分类。图像归一化就是将图像转换到唯一的标准形式以抵抗各种变换,从 而消除同类图像不同变形体之间的外观差异。也称为图像灰度归一化。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

%A、B 是作为图片的变量
>> B1=imread('image2-10.jpg'); >> MSE=sum((A(:)-B1(:)).^2)/(M*N) MSE = 31.3642
>> B2=imread('image2-20.jpg'); MSE=sum((A(:)-B2(:)).^2)/(M*N) MSE = 20.3310
10
20
30
40
50
SNR 曲线
另外几种尝试
70
60
50
40
30
20
10 0
10
20
30
40
50
二合一曲线图
40 35 30 25 20 15 10 5 0
0
10
20
30
40
50
另一种尝试-条形图 bar(x,y1)
40 35 30 25 20 15 10 5 0
0
10
20
30
40
50
>> colormap(cool)
>> y=[MSE0,MSE1,MSE2,MSE3,MSE4,MSE5]; >> x=[0,10,20,30,40,50]; >> plot(x,y) >> SNR0=10*LOG10(255^2/MSE0)
Warning: Could not find an exact (case-sensitive) match for 'LOG10'.
>>y1=[SNR0,SNR10,SNR20,SNR30,SNR40,SNR50]; y2=[MSE0,MSE1,MSE2,MSE3,MSE4,MSE5]; x=[0,10,20,30,40,50]; plot(x,y1,x,y2) >> y1=[SNR0,SNR10,SNR20,SNR30,SNR40,SNR50]; y2=[MSE0,MSE1,MSE2,MSE3,MSE4,MSE5]; x=[0,10,20,30,40,50]; plot(x,y1,x,y2)
ATLAB 源代码
>> f=imread('image 2.bmp'); >> whos f Name f Size 960x640 Bytes Class 614400 uint8 Attributes
>> imwrite(f,'image2-0.jpg','quality',0); >> imwrite(f,'image2-10.jpg','quality',10); >> imwrite(f,'image2-20.jpg','quality',20); >> imwrite(f,'image2-30.jpg','quality',30); >> imwrite(f,'image2-40.jpg','quality',40); >> imwrite(f,'image2-50.jpg','quality',50); >> a=imread('image2-0.jpg'); >> b=imread('image2-50.jpg'); >> Imshow(a) Warning: Could not find an exact (case-sensitive) match for 'Imshow'. C:\Program Files\MATLAB\R2009a\toolbox\images\imuitools\imshow.m is a case-insensitive match and will be used instead. You can improve the performance of your code by using exact name matches and we therefore recommend that you update your usage accordingly. Alternatively, you can disable this warning using warning('off','MATLAB:dispatcher:InexactCaseMatch'). This warning will become an error in future releases.
K20=imfinfo('image2-20.jpg'); >> image_byte_20=K20.Width*K20.Height*K20.BitDepth/8; >> CMP_bytes=K20.FileSize; >> CMP_R20=image_byte_20/CMP_bytes CMP_R20 = 16.9368
Warning: Image is too big to fit on screen; displaying at 67% >> Imshow(b) Warning: Image is too big to fit on screen; displaying at 67% > In imuitools\private\initSize at 73 In imshow at 262 >> [M,N]=size(f) M= N= 960 640
>> K0=imfinfo('image2-0.jpg'); >> image_byte_0=K0.Width*K0.Height*K0.BitDepth/8; >> CMP_bytes=K0.FileSize; >> CMP_R0=image_byte_0/CMP_bytes CMP_R0 = 59.2022
>> K40=imfinfo('image2-40.jpg'); image_byte_40=K40.Width*K40.Height*K40.BitDepth/8;
CMP_bytes=K40.FileSize; CMP_R40=image_byte_40/CMP_bytes CMP_R40 = 12.2718
K10=imfinfo('image2-10.jpg'); >> image_byte_10=K10.Width*K10.Height*K10.BitDepth/8; >> CMP_bytes=K10.FileSize; >> CMP_R10=image_byte_10/CMP_bytes CMP_R10 = 27.0888
10
20
30
40
50
>> subplot(1,1,1)
>> plot(x,y1,'b:p',x,y2,'c-')
必要的文字说明
f=imread(‘filename’) 可以读入的文件格式 TIFF\JPEG\BMP\PNG\GIF 参考 :压缩比与信噪比计算 压缩比: 压缩前文件大小/压缩后文件大小 信噪比 : A(i,j)压缩前图像像素值 B(i,j)压缩后图像像素值 用 MATLAB 计算 MSE 计算: MSE=sum((A(:)-B(:)).^2)/(M*N)
SNR0 =
30.2372
>> SNR10=10* LOG10(255^2/MSE1) SNR10 = SNR20 = 33.1665 35.0492 >> SNR20=10* LOG10(255^2/MSE2) >> SNR30=10* LOG10(255^2/MSE3) SNR40=10* LOG10(255^2/MSE4) SNR50=10* LOG10(255^2/MSE5) SNR30 = SNR40 = SNR50 = 36.2051 36.7500 36.9028 %绘图 2
数字图像处理作业
作业要求:
读入一幅灰度 BMP 图像 : (1)显示读入的 BMP 图像
Matlab
(2)将图像保存为 JPG 文件,质量控制参数分别取值为 0,10,20,30,40,50 (3)显示 q=0 和 50 对应的 JPG 图像 (4)计算不同 q 值对应的压缩比 , 用 plot 函数画出 q 与压缩比的关系曲线 (5)计算不同 q 值对应的信噪比,用 plot 函数画出 q 与信噪比的关系曲线
y0=[ CMP_R0, CMP_R10, CMP_R20, CMP_R30, CMP_R40, CMP_R50]; >> x0=[0,10,20,30,40,50]; >> plot(x0,y0)
>> A=imread('image2.jpg'); >> >> B=imread('image2-0.jpg'); >> MSE=sum((A(:)-B(:)).^2)/(M*N) MSE = 61.5688
>> B3=imread('image2-30.jpg'); MSE=sum((A(:)-B3(:)).^2)/(M*N) MSE = 15.5803
>> B4=imread('image2-40.jpg'); MSE=sum((A(:)-B4(:)).^2)/(M*N)
MSE =
13.7430
>> B5=imread('image2-50.jpg'); MSE=sum((A(:)-B5(:)).^2)/(M*N) MSE = 13.2680 %绘图 1
C:\Program Files\MATLAB\R2009a\toolbox\matlab\elfun\log10.m is a case-insensitive match and will be used instead. You can improve the performance of your code by using exact name matches and we therefore recommend that you update your usage accordingly. Alternatively, you can disable this warning using warning('off','MATLAB:dispatcher:InexactCaseMatch'). This warning will become an error in future releases.
%绘图 1+2
运行结果(图像或曲线)
Image2-0.jpg
Image2-50.jpg
Image2.jpg
60 55 50 45 40 35 30 25 20 15 10
0
5
10
15
20
25
30
35
ห้องสมุดไป่ตู้40
45
50
CMP 图标 压缩比
70
60
50
40
30
20
10 0
10
20
30
40
50
MSE 曲线
37 36 35 34 33 32 31 30 0
1 MSE MN
(A(i ,j ) B(i ,j )) i j
1 1 2552
M
N
2
MSE SNR 10 log10
matlab 有关 MSE 与 RMSE,MSE 和 RMSE 都是网络的性能函数。 MSE 是 (神经) 网络的均方误差, 叫"Mean Square Error"。 比如有 n 对输入输出数据, 每对为[Pi,Ti] , i=1 ,2,..., n。网络通过训练后有网络输出,记为 Yi。那 MSE=(求和(Ti-Yi)^2(i=1,2,..n))/n,即每一组数的误差平方和 再除以数据的对数。RMSE 叫“Root Mean Square Error” ,即在 MSE 基础上要开根号,中文译为“均方 根误差” ,MSE=MSE 开根号。 亦即 RMSE 是 MSE 的平方根。
>> K50=imfinfo('image2-50.jpg'); image_byte_50=K50.Width*K50.Height*K50.BitDepth/8; CMP_bytes=K50.FileSize; CMP_R50=image_byte_50/CMP_bytes CMP_R50 = 10.6149 %绘图 1
>>
40 30 20 10 0 0 10 20 30 40 50
>>subplot(2,1,1) bar(x,y1,'stacked') subplot(2,1,2) bar(x,y2,'grouped')
80 60 40 20 0 0 10 20 30 40 50
70
60
50
40
30
20
10 0
K30=imfinfo('image2-30.jpg'); >> image_byte_30=K30.Width*K30.Height*K30.BitDepth/8; >> CMP_bytes=K30.FileSize; >> CMP_R30=image_byte_30/CMP_bytes CMP_R30 = 13.6140
相关文档
最新文档