MATLAB图像显示与格式转换Word文档下载推荐.docx

上传人:b****8 文档编号:22929942 上传时间:2023-02-06 格式:DOCX 页数:21 大小:955.52KB
下载 相关 举报
MATLAB图像显示与格式转换Word文档下载推荐.docx_第1页
第1页 / 共21页
MATLAB图像显示与格式转换Word文档下载推荐.docx_第2页
第2页 / 共21页
MATLAB图像显示与格式转换Word文档下载推荐.docx_第3页
第3页 / 共21页
MATLAB图像显示与格式转换Word文档下载推荐.docx_第4页
第4页 / 共21页
MATLAB图像显示与格式转换Word文档下载推荐.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

MATLAB图像显示与格式转换Word文档下载推荐.docx

《MATLAB图像显示与格式转换Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《MATLAB图像显示与格式转换Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。

MATLAB图像显示与格式转换Word文档下载推荐.docx

真彩图像的每个像素直接用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=16M种彩色

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

48位彩色

216×

216=0.25G种色

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

3、图像文件格式

文件

类型

说明

1位

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,'

)其中:

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

【例】查看图像信息

INFO=imfinfo('

INFO=

Filename:

[1x36char]

FileModDate:

'

23-May-200422:

14:

23'

FileSize:

1107548

Format:

tif'

FormatVersion:

[]

Width:

427

Height:

BitDepth:

48

ColorType:

truecolor'

FormatSignature:

[7373420]

ByteOrder:

little-endian'

NewSubfileType:

0

BitsPerSample:

[161616]

Compression:

Uncompressed'

PhotometricInterpretation:

RGB'

StripOffsets:

13528

SamplesPerPixel:

3

RowsPerStrip:

StripByteCounts:

1093974

XResolution:

2.7115

YResolution:

ResolutionUnit:

Inch'

Colormap:

PlanarConfiguration:

Chunky'

TileWidth:

TileLength:

TileOffsets:

TileByteCounts:

Orientation:

1

FillOrder:

GrayResponseUnit:

0.0100

MaxSampleValue:

[655356553565535]

MinSampleValue:

Thresholding:

NewSubFileType:

Software:

AdobePhotoshop7.0'

DateTime:

2004:

05:

2322:

23'

三、图像类别与数据格式

双精度类:

Double

(每个元素占8个字节)

整数类:

Unit8

(每个元素占1个字节)

整数类(Unit16)

(每个元素占2个字节)

数组大小:

3

(:

:

1)-红色分量

2)-绿色分量

3)-蓝色分量

元素取值:

[0,1]

(无调色板)

[0,255]

[0,65535]

图像数组大小:

n

图像元素取值:

[1,p]

色度矩阵:

色度元素值:

[0,p-1]

图像元素值:

图像元素值:

0或1

四、图像显示

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

1、imshow(I,n)

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

【例】按256灰度级显示

I=imread('

moon.tif'

imshow(I,256)

colorbar

【例】按8灰度级显示

imshow(I,8)

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

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

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

imshow(I,[])

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

imshow(I,[64,128])

3、imshow(BW)

显示二值图像。

【例】双精度灰度图像

bw1=zeros(100,100);

bw1(2:

2:

98,2:

98)=1;

imshow(bw1);

whosbw1

bw1100x10080000doublearray

Grandtotalis10000elementsusing80000bytes

【例】8位的灰度图像

bw2=uint8(bw1);

imshow(bw2,[]);

colorbar

whosbw2

bw2100x10010000uint8array

Grandtotalis10000elementsusing10000bytes

【例】二值图像

bw3=bw2~=0;

imshow(bw3);

whosbw3

bw3100x10010000logicalarray

【例】显示二值图像

BW=imread('

circles.tif'

imshow(BW);

【例】取反显示二值图像

imshow(~BW);

clf

imshow(BW,[100;

001]);

4、imshow(X,MAP)

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

【例】显示索引图像

[X,MAP]=imread('

canoe.tif'

imshow(X,MAP);

【例】显示伪彩色图像

imshow(I,jet(256))

5、imshow(RGB)

显示真彩色图像。

【例】

rgb=imread('

flowers.tif'

imshow(rgb);

6、imshowfilename

直接显示图像。

【例】直接显示图像

imshow('

I=getimage;

whosI

I537x358192246uint8array

Grandtotalis192246elementsusing192246bytes

7、subimage

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

loadtrees;

[x2,map2]=imread('

forest.tif'

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

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

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

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

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

五、保存图像

1、imwrite函数

imwrite(I,'

文件名'

'

文件格式'

)-保存无调色板的图像

imwrite(X,MAP,'

)-保存有调色板的图像

imwrite(...,'

)-文件名中含格式

参数'

值'

)-指定保存参数

文件格式:

bmp、jpg、pcx、tif。

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

[x,map]=imread('

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-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1