matlab课程设计-图像处理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图像处理系统

--学习报告

学号:

姓名:

专业:

日期:

1 使用语言

Matlab

2图像选择及变换

2.1 原始图像选择读取

原始图片如下:

图1 原始图片

MATLAB为用户提供了专门的函数以从图像格式的文件中读写图像数据。

采用的是imrea d函数来实现图像文件的读取操作,采用的格式如下:

A=imread(’filename.fmt’)

该语句用于读取字符串“filename”对应的灰度图像或彩色图像,“fmt”指定了文件的格式。

采用imfinfo函数查询图像文件的信息。其语句格式如下:

Info=imfinfo(‘filename.fmt’)

该语句可以在命令窗口会显示出文件的基本信息。

采用imshow函数进行图像的显示,采用的格式如下:

A=imread(‘filename.fmt’);

imshow(A);

当这种显示方式要求被显示的图像要么在当前目录下或MATLAB的目录下。

采用rgb2gray函数进行真彩色图像与灰阶强度图像的转变,其格式调用如下:A=rgb2gry(‘filename.fmt’);

得到的图像可以进行统计与处理,能完成要求。

图像读入与显示和变化的源代码如下:

close all;

clear all;

x=imread('xuewu.jpg');

imshow(x);

imfinfo('xuewu.jpg')

程序运行结果如下图2所示:

图2 读取后显示图片

命令窗口中,显示如下:

Filename: 'xuewu.jpg'

FileModDate: '27-Dec-2011 08:58:56'

FileSize: 348015

Format: 'jpg'

FormatVersion: ''

Width: 1024

Height: 768

BitDepth: 24

ColorType: 'truecolor'

FormatSignature: ''

NumberOfSamples: 3

CodingMethod: 'Huffman'

CodingProcess: 'Sequential'

Comment: {}2.2 转换图像为灰阶图像

2.2 图像的变换

在后期的处理中,有部分程序需要用到灰阶图片,因此提前将图片进行转换,得到灰阶图片。采用rgb2gray函数进行真彩色图像与灰阶强度图像的转变其格式调用如下:

A=rgb2gry(‘filename.fmt’);

得到的图像可以进行统计与处理。

程序源代码如下:

x1=rgb2gray(x);

figure,imshow(x1)

程序运行结果如下图3所示:

图3 灰阶图片

3 图像处理及代码程序

3.1 图像亮度对比度调整

3.1.1 函数及其参数的说明

亮度的调节采用的是imadd函数,其调用格式如下:

Z=imadd(X,Y);

说明:imadd函数可以将两幅图像相加或在图像上加上一个常量。其中,X 为图像数据矩阵,也可以是M*N*3的RGB图像矩阵。Y可以是与X的格式类型完全的相同图像数据矩阵或者是一个double类型的数值。

对比度的调节采用的是imajust函数,其调用格式如下:

Z=imadjust(X,[low_in,high_in],[low_out,high_out]);

说明:imadjust函数将图像矩阵X中的亮度值线性变换到输出矩阵Z中的新值。输入图像X因为uint8类,uint16类或double类图像,输出图像Z与输入图像X有着相同的数据类型。low_in、high_in、low_out与high_out这四个参数的取值范围不论输入X的数据类型为何都为[0,1]。

3.1.2 源程序及运行结果

源程序如下:

x2=imadd(x1,50); %亮度调节

figure,imshow(x2)

x3=imadjust(x1,[0.3,0.7],[0,1]); %对比度调节

figure,imshow(x3)

运行结果如图4和图5所示:

图4 亮度调节图5 对比度调节

3.2 图像放大和缩小

3.2.1 函数及其参数的说明

对图像进行放大和缩小可以采用imresize函数,其调用格式如下:

B = imresize(A,[mrows ncols], method )

说明:mrows ncols 是选择放大或缩小的倍数,method表示选用的插值方法,其可选值为nearest(最邻近插值法)、bilinear(双线性插值)和bicubic(双三次插值法),并且method的缺省表示为nearest。

3.2.2 源程序及运行结果

源程序如下所示:

clc

x1=imread('91.jpg');

imshow(x1)

title('原图');

Info=imfinfo('91.jpg')

%放大2倍

x2=imresize(x1,2); %最邻近插法

figure,imshow(x2)

title('最邻近插法放大');

x3=imresize(x1,2,'bilinear'); %双线性插值法

figure,imshow(x3)

title('双线性插值法放大'); %缩小到原来的1/5

x4=imresize(x1,0.2); %最邻近插法

figure,imshow(x4)

title('最邻近插法缩小');

x5=imresize(x1,0.2,'bilinear'); %双线性插值法

figure,imshow(x5)

title('双线性插值法缩小');

x6=imrotate(x1,45);

figure,imshow(x6)

%将原始灰度以双线性插值的方式将图像顺时针旋转45°

相关文档
最新文档