matlab简单图像处理实验报告.docx

上传人:b****8 文档编号:8970256 上传时间:2023-05-16 格式:DOCX 页数:26 大小:2.21MB
下载 相关 举报
matlab简单图像处理实验报告.docx_第1页
第1页 / 共26页
matlab简单图像处理实验报告.docx_第2页
第2页 / 共26页
matlab简单图像处理实验报告.docx_第3页
第3页 / 共26页
matlab简单图像处理实验报告.docx_第4页
第4页 / 共26页
matlab简单图像处理实验报告.docx_第5页
第5页 / 共26页
matlab简单图像处理实验报告.docx_第6页
第6页 / 共26页
matlab简单图像处理实验报告.docx_第7页
第7页 / 共26页
matlab简单图像处理实验报告.docx_第8页
第8页 / 共26页
matlab简单图像处理实验报告.docx_第9页
第9页 / 共26页
matlab简单图像处理实验报告.docx_第10页
第10页 / 共26页
matlab简单图像处理实验报告.docx_第11页
第11页 / 共26页
matlab简单图像处理实验报告.docx_第12页
第12页 / 共26页
matlab简单图像处理实验报告.docx_第13页
第13页 / 共26页
matlab简单图像处理实验报告.docx_第14页
第14页 / 共26页
matlab简单图像处理实验报告.docx_第15页
第15页 / 共26页
matlab简单图像处理实验报告.docx_第16页
第16页 / 共26页
matlab简单图像处理实验报告.docx_第17页
第17页 / 共26页
matlab简单图像处理实验报告.docx_第18页
第18页 / 共26页
matlab简单图像处理实验报告.docx_第19页
第19页 / 共26页
matlab简单图像处理实验报告.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

matlab简单图像处理实验报告.docx

《matlab简单图像处理实验报告.docx》由会员分享,可在线阅读,更多相关《matlab简单图像处理实验报告.docx(26页珍藏版)》请在冰点文库上搜索。

matlab简单图像处理实验报告.docx

matlab简单图像处理实验报告

实验一:

图像文件类型转换

实验目的:

理解数字图像文件的几种基本类型

掌握在MATLAB中进行图象文件类型转换的方法

观察图象转换前后的效果

加深对图象文件类型的理解

熟悉图象格式、颜色系统间的转换

实验内容:

1)灰度图像与索引图像的相互转换

2)RGB图像与索引图像的相互转换

3)将图像转换为二值化图像

实验方法:

利用MATLAB工具进行实验

一、灰度图像到索引图像的转换

clear

>>info=imfinfo('rice.png')

info=

Filename:

'rice.png'

FileModDate:

'26-Jan-200300:

03:

06'

FileSize:

44607

Format:

'png'

FormatVersion:

[]

Width:

256

Height:

256

BitDepth:

8

ColorType:

'grayscale'

FormatSignature:

[13780787113102610]

Colormap:

[]

Histogram:

[]

InterlaceType:

'none'

Transparency:

'none'

SimpleTransparencyData:

[]

BackgroundColor:

[]

RenderingIntent:

[]

Chromaticities:

[]

Gamma:

[]

XResolution:

[]

YResolution:

[]

ResolutionUnit:

[]

XOffset:

[]

YOffset:

[]

OffsetUnit:

[]

SignificantBits:

[]

ImageModTime:

'27Dec200219:

57:

12+0000'

Title:

[]

Author:

[]

Description:

'Ricegrains'

Copyright:

'CopyrightTheMathWorks,Inc.'

CreationTime:

[]

Software:

[]

Disclaimer:

[]

Warning:

[]

Source:

[]

Comment:

[]

OtherText:

[]

RGB=imread('rice.png');

>>figure(3);

>>imshow(RGB);

>>figure

(1);

>>[RGB1,map1]=gray2ind(RGB,128);

>>imshow(RGB1,map1);

>>figure

(2);

>>[RGB2,map2]=gray2ind(RGB,16);

>>imshow(RGB2,map2);

>>imwrite(RGB1,map1,'3.bmp');

>>imwrite(RGB2,map2,'4.bmp');

图3图1

图2

实验结果分析:

从上述实验结果,我们可以看出灰度级不同,图像的亮度也不一样。

这是因为图像的量化灰度级数是256,灰度取值范围一般从0~255,在人的视觉系统中,不同的灰度值人感觉到的亮度不一样。

我们调用函数info=imfinfo('3.bmp'),info=imfinfo('4.bmp')来检查得到的图像是不是索引图像,发现他们都是ColorType:

'indexed',这就说明以3.bmp或4.bmp命名的文件是索引图像。

以下是索引图到灰度图的转化:

clear

>>[x,map]=imread('3.bmp');

>>figure

(1),imshow(x);

>>I=ind2gray(x,map);

>>figure

(2),imshow(I);

图1图2

二、RGB图像到索引图像的转换

info=imfinfo('1646063.jpg')

info=

Filename:

'1646063.jpg'

FileModDate:

'23-Mar-201015:

54:

36'

FileSize:

60317

Format:

'jpg'

FormatVersion:

''

Width:

320

Height:

226

BitDepth:

24

ColorType:

'truecolor'

FormatSignature:

''

NumberOfSamples:

3

CodingMethod:

'Huffman'

CodingProcess:

'Sequential'

Comment:

{}

RGB=imread('1646063.jpg');

>>figure

(1);

>>imshow(RGB);

>>figure

(2);

>>y=rgb2ind(RGB,256);

>>imwrite(y,'1s.bmp');

>>imshow(y);

实验结果分析:

通过把图像的数据赋予给RGB图像,然后利用转换语句y=rgb2ind(RGB,256)把彩色图像转换为索引图,我们调用函数info=imfinfo('1s.bmp')检查所得图像是不是索引图,发现ColorType:

'indexed',这就说明以1s.bmp命名的文件是索引图。

以下是索引图转换二值图:

>>[x,map]=imread('3.bmp');

>>figure

(1),imshow(x);

>>RGB=ind2rgb(x,map);

>>figure

(2),imshow(RGB);

三、RGB图像到二值图像的转换

clear

>>info=imfinfo('20081228224116246.jpg')

info=

Filename:

'20081228224116246.jpg'

FileModDate:

'23-Mar-201015:

55:

03'

FileSize:

55227

Format:

'jpg'

FormatVersion:

''

Width:

580

Height:

483

BitDepth:

24

ColorType:

'truecolor'

FormatSignature:

''

NumberOfSamples:

3

CodingMethod:

'Huffman'

CodingProcess:

'Sequential'

Comment:

{'CompressedwithJPEGOptimizer4.00,'}

>>RGB=imread('20081228224116246.jpg');

>>figure(3);

>>imshow(RGB);

>>bw1=im2bw(RGB,0.5);

>>bw2=im2bw(RGB,0.6);

>>figure

(1);

>>imshow(bw1);

>>figure

(2);

>>imshow(bw2);

图3

图1

图2

实验结果分析:

从实验结果可以看出,阈值不同,图像的清晰度也不一样。

阈值的取值范围在[0,1]之间,它相当一个门限,输入图像的像素大于这个门限时就可以输出。

以下为灰度图转换为二值图:

Clear

I=imread('rice.png');

>>figure(3);

>>imshow(I);

>>bw1=im2bw(I,0.5);

>>bw2=im2bw(I,0.6);

>>figure

(1);

>>imshow(bw1);

>>figure

(2);

>>imshow(bw2);

图3

图1

图2

 

实验二:

图像变换

实验目的:

掌握图像变换的方法,观察图象变换的效果,熟悉图像傅立叶变换。

实验内容:

快速卷积实验,对图像进行傅立叶变换;

实验方法:

利用MATLAB图像处理工具箱进行实验

一、傅立叶变换实验

A=magic(3);

B=ones(3);

A(8,8)=0;

B(8,8)=0;

>>C=ifft2(fft2(A).*fft2(B));

>>C=C(1:

5,1:

5);

>>C=real(C)

C=

8.00009.000015.00007.00006.0000

11.000017.000030.000019.000013.0000

15.000030.000045.000030.000015.0000

7.000021.000030.000023.00009.0000

4.000013.000015.000011.00002.0000

>>C=conv2(A,B);

>>C=C(1:

5,1:

5)

C=

891576

1117301913

1530453015

72130239

41315112

clear

>>figure

(1);

>>RGB=imread('cameraman.tif');

>>imshow(RGB);

>>figure

(2);

>>B=fftshift(fft2(RGB));

imshow(log(abs(B)),[]),colormap(jet(64)),colorbar;

 

clear

>>A=zeros(128);

>>A(60:

68,60:

68)=1;

>>figure

(1);

>>imshow(A);

>>figure

(2);

>>B=fft2(A);

>>imshow(B);

C=fftshift(fft2(A));

>>figure(3),imshow(C);

figure(4);

>>imshow(log(abs(C)),[]),colormap(jet(64)),colorbar;

实验三:

数字图像滤波及边缘检测(综合性实验)

实验目的:

1)综合运用图像处理的基本原理方法,解决实际问题;

2)学会使用Matlab中值滤波函数和图像处理并了解适用范围;

3)了解函数imnoise的基本功能和输入参数的特点;

4)掌握线性平滑滤波器和非线性平滑滤波器(中值滤波)的性能。

5)掌握图象边缘检测的基本算法。

实验内容:

平滑滤波,中值滤波,边缘检测

实验方法:

利用MATLAB图像处理工具箱进行实验

一、图象平滑滤波

1.均值滤波(线性滤波)

clear

>>I=imread('kids.tif');

>>imshow(I)

>>I1=imnoise(I,'gaussian',0,0.02);

>>figure,imshow(I1)

>>h=[111;111;111];

>>h=h/9;

>>J=conv2(I1,h);

figure,imshow(J,[])

clear

>>I=imread('kids.tif');

>>imshow(I)

>>I1=imnoise(I,'gaussian',0,0.02);

>>figure,imshow(I1)

>>h=[11111;11111;11111;11111;11111];

>>h=h/9;

>>J=conv2(I1,h);

figure,imshow(J,[])

clear

>>I=imread('kids.tif');

>>imshow(I)

>>I1=imnoise(I,'gaussian',0,0.02);

>>figure,imshow(I1)

h=[1111111

1111111

1111111

1111111

1111111

1111111

1111111];

>>h=h/9;

>>J=conv2(I1,h);

figure,imshow(J,[])

2.中值滤波(非线性滤波)

clear

>>I=imread('kids.tif');

>>J=imnoise(I,'gaussian',0.02);

>>K=medfilt2(J);

>>subplot(1,3,1),imshow(I);

>>subplot(1,3,2),imshow(J);

>>subplot(1,3,3),imshow(K);

clear

>>I=imread('Big_2009.jpg');

>>J=imnoise(I,'gaussian',0.02);

>>K=imnoise(I,'salt&pepper',0.02);

>>subplot(1,3,1),imshow(I);

>>subplot(1,3,2),imshow(J);

>>subplot(1,3,3),imshow(K);

小结:

不同的滤波方法得出的效果不一样,同一种方法选择不同的参数得出的结果也不一样。

如上图所示,对于中值滤波选择了3x3,5x5,7x7观察图形,清晰度不同。

二、边缘检测

clear

>>I=imread('trees.tif');

>>imshow(I)

>>BW1=edge(I,'Roberts');

>>figure,imshow(BW1)

>>BW2=edge(I,'sobel');

>>figure,imshow(BW2)

BW3=edge(I,'Prewitt');

>>figure,imshow(BW3)

>>

小结:

边缘检测的方法也有很多,不同的检测方法提取的信息也不一样,该实验中,选择了'Roberts','sobel','Prewitt'算子分别对图像进行处理,观察结果发现有些细节在有的图片上有,而有的则没有。

实验四:

小波在图像降噪中的应用

实验目的:

掌握小波变换的基础知识;

掌握小波去噪的基本原理,观察小波降噪后的图象差别;

掌握一维和二维信号的小波去噪方法

实验内容:

利用matlab产生一有噪信号;

应用小波变换的方法将该信号进行降噪处理,观察图像的变换;

利用matlab小波分析工具箱去除图像噪声

实验方法:

利用matlab软件及其小波分析工具箱

clear

>>sqrt_snr=3;

>>init=231434;

>>[x,xn]=wnoise(3,11,sqrt_snr,init);

>>plot(x)

>>figure,plot(xn)

lev=5;

>>xd=wden(x,'heursure','s','one',lev,'sym8');

>>figure,plot(xd)

>>xd=wden(x,'rigrsure','s','sln',lev,'sym8');

>>figure,plot(xd)

>>xd=wden(x,'sqtwolog','s','sln',lev,'sym8');

>>figure,plot(xd)

不同的去噪方法得出的结果不同,其中有好有坏。

 

用matlab小波工具箱对图片进行去噪。

>>wavemenu

单击wavelet2-D按钮,选择file菜单里的命令选择例子图像,

单击De-noise按钮,在新产生的窗口中可以选择阈值处理,还可以手动设置。

选择penalizehigh阈值方法进行去噪

还可以继续选择不同的方法进行去噪,另外通过手动设置阈值,一下是手动设置阈值的几个图:

把每层的阈值都设为0。

 

把每层的阈值都设为最大。

根据前两个图取中间比较合适的阈值,是之能够得到满意的结果。

小结:

根据实验结果我们可以发现对图片进行去噪的处理方法比较的多,由于这里只是对一张图片进行处理,理论上将对不同噪声图片处理的方法不一样,处理时应该选择与之对应的方法才能得出好的效果来。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2