MATLAB图像显示与格式转换.docx

上传人:b****2 文档编号:1576885 上传时间:2023-05-01 格式:DOCX 页数:20 大小:1.74MB
下载 相关 举报
MATLAB图像显示与格式转换.docx_第1页
第1页 / 共20页
MATLAB图像显示与格式转换.docx_第2页
第2页 / 共20页
MATLAB图像显示与格式转换.docx_第3页
第3页 / 共20页
MATLAB图像显示与格式转换.docx_第4页
第4页 / 共20页
MATLAB图像显示与格式转换.docx_第5页
第5页 / 共20页
MATLAB图像显示与格式转换.docx_第6页
第6页 / 共20页
MATLAB图像显示与格式转换.docx_第7页
第7页 / 共20页
MATLAB图像显示与格式转换.docx_第8页
第8页 / 共20页
MATLAB图像显示与格式转换.docx_第9页
第9页 / 共20页
MATLAB图像显示与格式转换.docx_第10页
第10页 / 共20页
MATLAB图像显示与格式转换.docx_第11页
第11页 / 共20页
MATLAB图像显示与格式转换.docx_第12页
第12页 / 共20页
MATLAB图像显示与格式转换.docx_第13页
第13页 / 共20页
MATLAB图像显示与格式转换.docx_第14页
第14页 / 共20页
MATLAB图像显示与格式转换.docx_第15页
第15页 / 共20页
MATLAB图像显示与格式转换.docx_第16页
第16页 / 共20页
MATLAB图像显示与格式转换.docx_第17页
第17页 / 共20页
MATLAB图像显示与格式转换.docx_第18页
第18页 / 共20页
MATLAB图像显示与格式转换.docx_第19页
第19页 / 共20页
MATLAB图像显示与格式转换.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

MATLAB图像显示与格式转换.docx

《MATLAB图像显示与格式转换.docx》由会员分享,可在线阅读,更多相关《MATLAB图像显示与格式转换.docx(20页珍藏版)》请在冰点文库上搜索。

MATLAB图像显示与格式转换.docx

MATLAB图像显示与格式转换

第五讲MATLAB可视化(三)

图像显示

Matlab进行图像处理的步骤如下:

读取图像到Matlab工作空间

对图像矩阵进行格式转换

对图像矩阵数据进行处理

↓↓

显示图像保存图像

【目录】

【正文】

一、图像文件格式

1、调色板

调色板是包含不同颜色的颜色表,每种颜色以红、绿、蓝三种颜色的组合来表示,图像的每一个像素对应一个数字,而该数字对应调色板中的一种颜色。

调色板的单元个数是与图像的颜色数相对应的,256色图像的调色板就有256个单元。

真彩图像的每个像素直接用R、G、B三个字节来表示颜色,因此不需要调色板。

2、图像类型

图像类型

简称

显示的颜色数

特点

1位单色

单色

21=2种(黑、白)

每象素对应一个值,取值为0和1

8位灰度

黑白

28=256个(黑到白)

每象素对应一个值,取值为0-255,每值对应一灰度

8位彩色

256色

28=256种彩色

每象素对应一个值,取值为0-255,每值对应一颜色

16位灰度

216=65536个(黑到白)

每象素对应一个值,取值为0-65535,每值对应一灰度

24位彩色

真彩色

28×28×28=16M种彩色

每象素对应三个值,分别代表R、G、B,取值为0-255

48位彩色

216×216×216=0.25G种色

每象素对应三个值,分别代表R、G、B,取值为0-65535

3、图像文件格式

文件

类型

说明

1位

单色

8位

灰度

8位

彩色

16位

灰度

24位

彩色

48位

彩色

BMP

微软视窗系统图像文件格式

×

×

GIF

用于网页上的动画、透明

×

×

×

TIFF

可储存多幅图像

PCX

Paintbrush软件图像格式

×

×

JPG

连续色调静态图像数字压缩

×

×

×

×

PSD

Photoshop软件图像格式

二、读图像和图像信息

1、读取图像

函数imread可以从任何Matlab支持的图像文件格式中,以任意位深度读取一幅图像。

格式为:

[X,MAP]=imread(FILENAME,'FMT'),其中:

FILENAME-为需要读入的图像文件名称,FMT-为图像格式。

【例】图像读取演示

[X1,MAP1]=imread('演示图像-1位黑白.tif');

[X2,MAP2]=imread('演示图像-8位灰度.tif');

[X3,MAP3]=imread('演示图像-256色.tif');

[X4,MAP4]=imread('演示图像-16位灰度.tif');

[X5,MAP5]=imread('演示图像-24位色.tif');

[X6,MAP6]=imread('演示图像-48位色.tif');

whos

NameSizeBytesClass

MAP10x00doublearray

MAP20x00doublearray

MAP3256x36144doublearray

MAP40x00doublearray

MAP50x00doublearray

MAP60x00doublearray

X1427x427182329logicalarray

X2427x427182329uint8array

X3427x427182329uint8array

X4427x427364658uint16array

X5427x427x3546987uint8array

X6427x427x31093974uint16array

Grandtotalis1824058elementsusing2558750bytes

2、读取图像信息

可以通过调用imfinfo函数获得与图像文件有关的信息,格式如下:

INFO=imfinfo(FILENAME,'FMT')其中:

返回的INFO是Matlab的一个结构体。

【例】查看图像信息

INFO=imfinfo('演示图像-48位色.tif')

INFO=

Filename:

[1x36char]

FileModDate:

'23-May-200422:

14:

23'

FileSize:

1107548

Format:

'tif'

FormatVersion:

[]

Width:

427

Height:

427

BitDepth:

48

ColorType:

'truecolor'

FormatSignature:

[7373420]

ByteOrder:

'little-endian'

NewSubfileType:

0

BitsPerSample:

[161616]

Compression:

'Uncompressed'

PhotometricInterpretation:

'RGB'

StripOffsets:

13528

SamplesPerPixel:

3

RowsPerStrip:

427

StripByteCounts:

1093974

XResolution:

2.7115

YResolution:

2.7115

ResolutionUnit:

'Inch'

Colormap:

[]

PlanarConfiguration:

'Chunky'

TileWidth:

[]

TileLength:

[]

TileOffsets:

[]

TileByteCounts:

[]

Orientation:

1

FillOrder:

1

GrayResponseUnit:

0.0100

MaxSampleValue:

[655356553565535]

MinSampleValue:

0

Thresholding:

1

NewSubFileType:

0

Software:

'AdobePhotoshop7.0'

DateTime:

'2004:

05:

2322:

14:

23'

三、图像类别与数据格式

双精度类:

Double

(每个元素占8个字节)

整数类:

Unit8

(每个元素占1个字节)

整数类(Unit16)

(每个元素占2个字节)

数组大小:

m×n×3

(:

:

1)-红色分量

(:

:

2)-绿色分量

(:

:

3)-蓝色分量

元素取值:

[0,1]

(无调色板)

数组大小:

m×n×3

(:

:

1)-红色分量

(:

:

2)-绿色分量

(:

:

3)-蓝色分量

元素取值:

[0,255]

(无调色板)

数组大小:

m×n×3

(:

:

1)-红色分量

(:

:

2)-绿色分量

(:

:

3)-蓝色分量

元素取值:

[0,65535]

(无调色板)

图像数组大小:

m×n

图像元素取值:

[1,p]

色度矩阵:

p×3

色度元素值:

[0,1]

图像数组大小:

m×n

图像元素取值:

[0,p-1]

色度矩阵:

p×3

色度元素值:

[0,255]

图像数组大小:

m×n

图像元素取值:

[0,p-1]

色度矩阵:

p×3

色度元素值:

[0,65535]

图像数组大小:

m×n

图像元素值:

[0,1]

色度矩阵:

p×3

色度元素值:

[0,1]

图像数组大小:

m×n

图像元素值:

[0,255]

色度矩阵:

p×3

色度元素值:

[0,1]

图像数组大小:

m×n

图像元素值:

[0,65535]

色度矩阵:

p×3

色度元素值:

[0,1]

图像数组大小:

m×n

图像元素值:

0或1

图像数组大小:

m×n

图像元素值:

0或1

四、图像显示

Matlab的图像显示函数主要有imshow、colorbar和subimage三个。

1、imshow(I,n)

显示灰度级为n的图像,n缺省为256。

【例】按256灰度级显示

I=imread('moon.tif');

imshow(I,256)

colorbar

【例】按8灰度级显示

I=imread('moon.tif');

imshow(I,8)

colorbar

2、imshow(I,[low,high])

以灰度范围[low,high]显示图像,如果不知道灰度范围,可以用imshow(I,[])显示。

【例】按最大灰度范围显示

I=imread('moon.tif');

imshow(I,[])

colorbar

【例】按指定灰度范围显示

I=imread('moon.tif');

imshow(I,[64,128])

colorbar

3、imshow(BW)

显示二值图像。

【例】双精度灰度图像

bw1=zeros(100,100);

bw1(2:

2:

98,2:

2:

98)=1;

imshow(bw1);

whosbw1

NameSizeBytesClass

bw1100x10080000doublearray

Grandtotalis10000elementsusing80000bytes

【例】8位的灰度图像

bw1=zeros(100,100);

bw1(2:

2:

98,2:

2:

98)=1;

bw2=uint8(bw1);

imshow(bw2,[]);

colorbar

whosbw2

NameSizeBytesClass

bw2100x10010000uint8array

Grandtotalis10000elementsusing10000bytes

【例】二值图像

bw1=zeros(100,100);

bw1(2:

2:

98,2:

2:

98)=1;

bw2=uint8(bw1);

bw3=bw2~=0;

imshow(bw3);

whosbw3

NameSizeBytesClass

bw3100x10010000logicalarray

Grandtotalis10000elementsusing10000bytes

【例】显示二值图像

BW=imread('circles.tif');

imshow(BW);

【例】取反显示二值图像

BW=imread('circles.tif');

imshow(~BW);

【例】显示二值图像

clf

BW=imread('circles.tif');

imshow(BW,[100;001]);

4、imshow(X,MAP)

显示索引图像,X为数据图像矩阵,MAP为调色板。

【例】显示索引图像

[X,MAP]=imread('canoe.tif');

imshow(X,MAP);

colorbar

【例】显示伪彩色图像

I=imread('moon.tif');

imshow(I,jet(256))

colorbar

5、imshow(RGB)

显示真彩色图像。

【例】

rgb=imread('flowers.tif');

imshow(rgb);

6、imshowfilename

直接显示图像。

【例】直接显示图像

imshow('moon.tif');

I=getimage;

whosI

NameSizeBytesClass

I537x358192246uint8array

Grandtotalis192246elementsusing192246bytes

7、subimage

多图显示多个调色板的图像。

【例】

loadtrees;

[x2,map2]=imread('forest.tif');

subplot(2,1,1),subimage(X,map);colorbar

subplot(2,1,2),subimage(x2,map2);colorbar

【例】不用专用函数显示多图

loadtrees;

[x2,map2]=imread('forest.tif');

subplot(2,1,1),imshow(x2,map2);colorbar

subplot(2,1,2),imshow(X,map);colorbar

五、保存图像

1、imwrite函数

imwrite(I,'文件名','文件格式')-保存无调色板的图像

imwrite(X,MAP,'文件名','文件格式')-保存有调色板的图像

imwrite(...,'文件名')-文件名中含格式

imwrite(...,'参数','值')-指定保存参数

文件格式:

bmp、jpg、pcx、tif。

【例】将tif图像保存为jpg图像

[x,map]=imread('canoe.tif');

imwrite(x,map,'canoe.jpg','JPG','Quality',75)

六、图像数据格式转换

1、索引图像

假设:

X8-表示8位的索引图像,X16-表示16位的索引图像,X64-表示双精度的索引图像,则有:

X64=double(X8)+1-uint8格式转double格式

X64=double(X16)+1-uint16格式转double格式

X8=uint8(X64-1)-double格式转uint8格式

X16=uint16(X64-1)-double格式转uint16格式

X8=uint8(X16)-uint16格式转uint8格式

X16=uint16(X8)-uint8格式转uint16格式

2、灰度图像

假设:

I8-表示8位的灰度图像,I16-表示16位的灰度图像,I64-表示双精度的灰度图像,则有:

I64=double(I8/255)-uint8格式转double格式

I64=double(I16/65535)-uint16格式转double格式

I8=uint8(round(I64*255))-double格式转uint8格式

I16=uint16(round(I64*65535))-double格式转uint16格式

I8=uint8(round(I16/257))-uint16格式转uint8格式

I16=uint16(round(I8*257))-uint8格式转uint16格式

3、真彩色图像

假设:

RGB8-表示8位的真彩图像,RGB16-表示16位的真彩图像,RGB64-表示双精度的真彩图像,则有:

RGB64=double(RGB8/255)-uint8格式转double格式

RGB64=double(RGB16/65535)-uint16格式转double格式

RGB8=uint8(round(RGB64*255))-double格式转uint8格式

RGB16=uint16(round(RGB64*65535))-double格式转uint16格式

RGB8=uint8(round(RGB16/257))-uint16格式转uint8格式

RGB16=uint16(round(RGB8*257))-uint8格式转uint16格式

4、二值图像

假设BW8表示8位二值图像,BW64表示双精度二值图像,则有:

BW64=double(BW8)uint8格式转double格式

BW8=uint8(BW64)~=0double格式转uint8格式

plot3(X,Y,Z,'bo')

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

当前位置:首页 > 工作范文 > 行政公文

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

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