实验一 MATLAB与DIP基础文档格式.docx

上传人:b****1 文档编号:3038363 上传时间:2023-05-01 格式:DOCX 页数:14 大小:249.31KB
下载 相关 举报
实验一 MATLAB与DIP基础文档格式.docx_第1页
第1页 / 共14页
实验一 MATLAB与DIP基础文档格式.docx_第2页
第2页 / 共14页
实验一 MATLAB与DIP基础文档格式.docx_第3页
第3页 / 共14页
实验一 MATLAB与DIP基础文档格式.docx_第4页
第4页 / 共14页
实验一 MATLAB与DIP基础文档格式.docx_第5页
第5页 / 共14页
实验一 MATLAB与DIP基础文档格式.docx_第6页
第6页 / 共14页
实验一 MATLAB与DIP基础文档格式.docx_第7页
第7页 / 共14页
实验一 MATLAB与DIP基础文档格式.docx_第8页
第8页 / 共14页
实验一 MATLAB与DIP基础文档格式.docx_第9页
第9页 / 共14页
实验一 MATLAB与DIP基础文档格式.docx_第10页
第10页 / 共14页
实验一 MATLAB与DIP基础文档格式.docx_第11页
第11页 / 共14页
实验一 MATLAB与DIP基础文档格式.docx_第12页
第12页 / 共14页
实验一 MATLAB与DIP基础文档格式.docx_第13页
第13页 / 共14页
实验一 MATLAB与DIP基础文档格式.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验一 MATLAB与DIP基础文档格式.docx

《实验一 MATLAB与DIP基础文档格式.docx》由会员分享,可在线阅读,更多相关《实验一 MATLAB与DIP基础文档格式.docx(14页珍藏版)》请在冰点文库上搜索。

实验一 MATLAB与DIP基础文档格式.docx

I13.jpg'

imshow(Image,[]);

执行的结果如图1:

图1

2.彩色图像显示

命令格式

彩色图像文件名'

imshow(Image,[]);

imread和imshow也用来显示彩色图像,其中‘彩色图像文件名’必须是work工作文件夹中所包含彩色图像的名字。

例2

C4.bmp'

3.多图像显示figure

命令格式:

Figure,imshow();

与图像显示命令一起使用

例3

>

h=imread('

fig310b.jpg'

figure,imshow(h,[]);

体会imshow函数参数的意义

4.图像格式的转换

常见的一些图形文件格式:

.tif/.tiff.jpg/.jpeg.gif.bmp.png.xwd

命令格式1

Image=imread('

输入图像名'

imwrite(Image,‘输出图像名’);

这两个命令把bmp格式的图像转换为JPEG格式的图像,对灰度和彩色图像都适用。

在输入和输出的图像名字需要加上后缀,这个后缀代表了不同的图像格式。

命令格式2

imwrite(f,‘filename.jpg’,’quality’,q)//qisanintegerbetween0and100

imwrite(f,‘lovely.jpg’,’quality’,25)

例4

I1.bmp'

imwrite(Image,‘I1.jpg’);

imwrite(Image,‘I2.jpg’,’quality’,15);

我们观察bmp格式的图像和JPEG格式的图像的差别,并比较这两个文件的大小,其中bmp格式的图像是压缩前的图像,JPEG格式的图像是压缩后的图像,可以计算出它们的压缩比。

观察使用第二条imwrite命令后生成的图像的大小

(二)图像信息获取

5、whos

Image=imread('

whosImage

6、imfinfo

imfinfofielname

7、size

size(Image)

[heightwidth]=size(Image)//返回图像的高height和宽width,注意第二句程序化不要分号。

例5.

Image=imread(‘saturn.tif);

size(Image);

[heightwidth]=size(Image)//返回128和128

whosImage

imfinfosaturn.tif

用上述命令观察处理前后的图像信息

8、显示灰度图像的一个像素的灰度值

get_pixel('

图像文件名'

x,y)

其中x,y为像素在图像中的坐标值,返回该像素的灰度值。

注意不要分号。

例6

get_pixel('

I5.bmp'

21,46)//返回结果为168。

9、显示像素指针

pixval

“pixval”isusedfrequentlytodisplaytheintensityvaluesofindividualpixels

interactively.

例7观察灰度图像像素指针值

I=imread(‘saturn.tif’)

imshow(I,[]);

>

例8观察彩色图像像素指针值

RGB=imread('

lovely.jpg'

imshow(RGB);

三、注意事项

1、所有的实验基于MATLAB软件,建议使用MATLAB5.0以上版本。

在MATLAB的安装目录下面有一个work文件夹,这是MATLAB的默认工作目录。

实验素材请存放于该文件夹内。

2、熟练操作Matlab软件的基本功能,要求能顺利的运行上述命令。

3、理解各命令的作用,调试并运行程序,采用实验图像进行测试,观察并分析其结果。

4、教师对学生操作过程中遇到的问题做个别辅导。

5、通过完成本实验,对DIP基本原理加深理解。

6、实验图像自选。

7、对于不熟悉的Matlab命令,学会利用Matlab的联机帮助来解决。

四、实验思考题

1、图像被读取以后,在计算机中以何种形式存放?

2、在将BMP文件压缩成JPEG文件时,试计算灰度图像与彩色图像各自的压缩比,并思考为什么彩色图像的压缩比为什么比灰度图像的压缩比高?

3、imwrite是实现图像格式转换功能的命令,你知道有哪些基本的图像格式吗?

你平时见得比较多的是哪一种?

 

PartII图像处理基本变换

(一)用Matlab编程实现图像的基本变换

1、矩阵数组与图像之间的转换

2、各种图像数据类型之间的转换

3、图像的翻转变换

4、图像的灰度变换

5、彩色图像的分解

logical,islogical,im2uint8,im2double,im2bw,mat2gray,flipped,imadjust,RGB_heft

2、实现数据与二值图像之间的转换

3、实现图像数据类型的转换

4、实现图像的翻转

5、实现图像的灰度变换

6、实现彩色图像的分解

MATLAB支持四种类型的图像:

Intensityimages:

uint8-------[0,255]

uint16------[0,65535]

double-----floating-pointnumbers,butareintherange[0,1]byconvention

Binaryimages:

isalogicalarrayof0sand1s.

Indexedimages

RGBimages

(一)矩阵数组与二值图像之间的转换

1、logical

logical(A)

//Anumericarrayisconvertedtobinaryusingfunctionlogical

2、islogical

islogical(C)

//totestifanarrayislogical,ifCisalogicalarray,returna1,elsereturna0

例1

>

A=[01101]

B=logical(A)

islogical(A)

islogical(B)

(二)各类型图像之间转换

3、convertingbetweendataclasses

B=data_class_name(A)

B=double(A)

D=uint8(C)

4、im2uint8

im2uint8(图像名称)

//setsto0allvaluesintheinputthatarelessthan0,setsto255allvaluesintheinputthataregreaterthan1,andmultipliesallothervaluesby255(四舍五入)

f=[-0.50.5;

0.751.5]

g=im2uint8(f)

5、im2double

im2double(图像名称)

//intoadoublearraywithvaluesintherange[0,1],dividingeachvalueoftheinputarrayby255(uint8)orby65535(uint16).

例3

h=uint8([2550;

128200]);

g=im2double(h)

6、mat2gray

mat2gray(图像名称)

//convertinganarbitaryofclassdoubletoanarrayofclassdoublescaledtotherange[0,1]

7、im2bw

g=im2bw(f,T)

//produceabinaryimagegfromanintensityimagef,bythresholding.Thasvaluesin[0,1]

例4

f=[12;

34];

g=mat2gray(f)

gb=im2bw(g,0.6)//usingathreshold(阈值)ofvalue0.6]

(三)图像的翻转

8、行矢量操作(理解下面命令、参数意义)

例5

v=[13579]

v

(2)

w=v.’

v(1:

3)

v(2:

4)

v(3:

end)

v(:

2:

v(end:

-2:

1)

v([145])

观察并思考上述程序的作用

9、矩阵索引操作

A=[123;

456;

789]

A(2,3)

C3=A(:

3)

R2=A(2,:

T2=A(1:

2,1:

B=A;

B(:

3)=0

A(end,end)

A(end,end-2)

A(2:

end,end:

D=logical([100;

001;

000])

A(D)

s=sum(A(:

))

10、翻转操作

例7

fp=fliplr(end:

-1:

1,:

fc=fliplr(257:

768,257:

768)

fc=fliplr(1:

end,1:

2end)

plot(fliplr(512,;

K=size(A,1)

plot(fliplr(size(f,1)/2,:

D=ndims(A);

(四)图像的灰度变换

11、imadjust

命令格式

g=imadjust(f,[low_inhigh_in],[low_out,high_out],gamma)

(1)灰度图像的反转(负片显示)

I=imread(‘图像文件名’)

JJ=imadjust(I,[01],[10]);

imshow(JJ,[])

图像的反转类似于照片的底片,将灰度值为i的像素点按255-i(二值图像按1-i)显示。

JJ就是得到的反转图像。

例8

I=imread('

fig219a.jpg’)

imshow(I,[]);

figure;

其中figure命令是MATLAB的系统函数,为了实现同时显示两幅图像。

图1-图4中同时显示了原图像和反转图像,可以作比较。

图1图2

图3图4

(2)imadjust的其他应用

例9.彩色图像

f=imread(‘lovely.jpg’);

g2=imadjust(f,[0.5,0.75],[0,1])

imshow(f),figure,imshow(g2)

g3=imadjust(f,[],[],2);

imshow(g2),figure,imshow(g3)

效果见图5-图6

图5图6

(五)增强图像对比度

10、对比度增强

对数与对比度增强变换-----压缩动态范围

g=c*log(1+double(f))

gs=im2uint8(mat2gray(g));

g=1./(1+(m./(double(f)+eps)).^E)

gs=im2uint8(mat2gray(log(1+double(f))));

imshow(f),figure,imshow(g)

效果图见图7-图8

图7图8

1、主有哪几种类型的图像?

显示四种类型图像的详细信息,观察其异同。

2、反转命令imadjust的基本原理如何?

如何实现图像的反转。

灰度图像和二值图像是否一致?

3、对数法增强对比度的原理是什么?

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

当前位置:首页 > 工程科技 > 交通运输

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

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