图像的显示实验 (1).doc_第1页
图像的显示实验 (1).doc_第2页
图像的显示实验 (1).doc_第3页
图像的显示实验 (1).doc_第4页
图像的显示实验 (1).doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

三 峡 大 学光电图像处理课程实 验 指 导 王习东理学院电子信息系2011年2月实验报告要求:格式规范,标题,实验目的,实验内容(包含源代码),实验结果(包含图片,写成文档时,图片大小限制在5cm*5cm以内)及其分析,思考题回答实验一 Matlab图像显示方法一、实验目的1. 了解Matlab的基本功能及操作方法2. 练习图像读写和显示函数的使用方法3. 掌握Matlab支持的五类图像的显示方法二、实验内容1. 图像的读写A) 图像读利用函数imread()可完成图形图像文件的读取,语法:A=imread(filename,fmt) X,map=imread(filename,fmt) .=imread(filename) .=imread(filename,idx) (只对TIF格式的文件) .=imread(filename,ref) (只对HDF格式的文件)通常,读取的大多数图像均为8bit,当这些图像加载到内存中时,Matlab就将其存放在类uint8中。此为Matlab还支持16bit的PNG和TIF图像,当读取这类文件时,Matlab就将其存贮在uint16中。注意:对于索引图像,即使图像阵列的本身为类uint8或类uint16,imread函数仍将颜色映象表读取并存贮到一个双精度的浮点类型的阵列中。 如:RGB = imread(fielename.jpg);B) 图像写使用imwrite函数,语法如下: imwrite(A,filename,fmt) imwrite(X,map,filename,fmt) imwrite(.,filename) imwrite(.,parameter,value) 当利用imwrite函数保存图像时,Matlab缺省的方式是将其简化到uint8的数据格式。如:先从一个.mat 文件中载入一幅图像,然后利用图像写函数imwrite,创建一个.bmp文件,并将图像存入其中。load clownwhosimwrite(X,map,filename.bmp)C) 图像文件格式转换图像格式转换函数:函数名 函数功能dither 图像抖动,将灰度图变成二值图,或将真彩色图像抖动成索引色图像gray2ind 将灰度图像转换成索引图像grayslice 通过设定阈值将灰度图像转换成索引色图像im2bw 通过设定亮度阈值将真彩色、索引色、灰度图转换成二值图ind2gray 将索引色图像转换成灰度图像ind2rgb 将索引色图像转换成真彩色图像mat2gray 将一个数据矩阵转换成一副灰度图rgb2gray 将一副真彩色图像转换成灰度图像rgb2ind 将真彩色图像转换成索引色图像如:bitmap = imread(clown.bmp,bmp);imwrite(bitmap,clown.png,png);又如:I=imread(trees.tif); %将图像格式文件读入X,map=gray2ind(I,60); %将灰度图像转换成索引图像imshow(X,map) %显示图像D) 图像信息获取 Info=imfinfo(filename,format) 或者:info=imfinfo(filename)2. 图像显示显示真彩色图像:imshow(RGB)添加颜色条:colorbar(vert) 或 colorbar(hotiz) 默认为(vert)独立显示一桢: imshow同时显示所有帧:montage(I)将多帧图像阵列转换为电影动画:mov=immovie(D,map) (只能用于索引图像)图像的缩放:打开缩放:zoom on 关闭缩放:zoom off同时显示多幅图像: subimage(X,map)A) 二进制图像的显示 imshow(BW)在 Matlab 中,二进制图像是一个逻辑类,仅包括 0 和 1 两个数值。像素 0 显示为黑色,像素 1 显示为白色。显示时,也可通过NOT()命令,对二进制图象进行取反,使数值 0 显示为白色;1 显示为黑色。例如: imshow(BW) 此外,还可以使用一个调色板显示一副二进制图像。如果图形是 uint8 数据类型,则数值 0 显示为调色板的第一个颜色,数值 1 显示为第二个颜色。例如: imshow(BW,1 0 0;0 0 1)BW1=zeros(20,20);%创建仅包含0/1的双精度图像BW1(2:2:18,2:2:18)=1;imshow(BW1,notruesize);whosBW2=uint8(BW1);figure,imshow(BW2,notruesize)BW3=BW2=0; %逻辑标志置为onfigure,imshow(BW3,notruesize)whosBW=imread(circles.tif);imshow(BW);figure,imshow(BW);figure,imshow(BW,1 0 0;0 0 1);B) 灰度图像的显示使用 imshow(I) 或使用明确指定的灰度级数目:imshow(I,32),由于Matlab自动对灰度图像进行标度以适合调色板的范围,因而可以使用自定义大小的调色板。其调用格式如下:imshow(I,low,high) 其中,low 和 high 分别为数据数组的最小值和最大值。imagesc 函数中的第二个参数确定灰度范围。灰度范围中的第一个值(通常是0),对应于颜色映象表中的第一个值(颜色),第二个值(通常是1)则对应与颜色映象表中的最后一个值(颜色)。灰度范围中间的值则线型对应与颜色映象表中剩余的值(颜色)。在调用 imagesc 函数时,若只使用一个参数,可以用任意灰度范围显示图像。在该调用方式下,数据矩阵中的最小值对应于颜色映象表中的第一个颜色值,数据矩阵中的最大值对应于颜色映象表中的最后一个颜色值。(1)I=imread(testpat1.tif);J=filter2(1 2;-1 -2,I);imshow(I)figure,imshow(J,)(2) I=imread(trees.tif); %将图像格式文件读入imagesc(I,0 1); %显示图像colormap(gray) %设置颜色表C) 索引图像的显示(1)load clown %装载一幅图像imwrite(X,map,clown.bmp); %保存为bmp文件imshow(X)imshow(X,map)(2)X,map=imread(filename.tif); %将图像格式文件读入image(X); %显示图像 colormap(map) %设置颜色表D) RGB图像的显示不管RGB图像的类型是double浮点型,还是 uint8 或 uint16 无符号整数型,Matlab都能通过 image 函数将其正确显示出来。RGB8 = uint8(round(RGB64255); 将 double 浮点型转换为 uint8 无符号整型RGB64 = double(RGB8)/255; 将 uint8 无符号整型转换为 double 浮点型RGB16 = uint16(round(RGB6465535);将double浮点型转换为 uint16 无符号整型RGB64 = double(RGB16)/65535; 将 uint16 无符号整型转换为 double 浮点型(2) imshow(RGB) 参数是一个 mn3 的数组 (1)I=imread(flowers.tif);imshow(I)RGB=imread(ngc6543a.jpg);figure,imshow(RGB)imshow(I(:,:,3)% 显示第3个颜色分量 (2) RGB=imread(greens.jpg); %将图像格式文件读入image(RGB) %显示RGB图像RGB(12,9,) %获取坐标为(12,9)处像素的RGB分量E) 多帧图像的显示(1)如:mri=uint8(zeros(128,128,1,27); % 27帧文件mri.tif初始化 for frame=1:27 mri(:,:,:,frame),map=imread(mri.tif,frame); % 读入每一帧 endimshow(mri(:,:,:,3),map); % 显示第3帧figure,imshow(mri(:,:,:,6),map); % 显示第6帧figure,imshow(mri(:,:,:,10),map); % 显示第10帧figure,imshow(mri(:,:,:,20),map); % 显示第20帧(2)将多幅图像合并成一个图像序列如:A=cat(4,A1,A2,A3,A4,A5) %5个图像合并成一个图像序列A,4维。FRM=NULTI(:,:,:,3) %从序列图像中抽出第三帧图像F) 显示多幅图像X1,map1=imread(forest.tif);X2,map2=imread(trees.tif);subplot(1,2,1),imshow(X1,map1)subplot(1,2,2),imshow(X2,map2)subplot(1,2,1),subimage(X1,map1)subplot(1,2,2),subimage(X2,map2)G)颜色模型转换hsv2rgb 转换HSV值为RGB颜色空间:M=hsv2rgb(H)ntsc2rgb 转换NTSC值为RGB颜色空间:rgbmap=ntsc2rgb(yiqmap) RGB=ntsc2rgb(YIQ)rgb2hsv 转换RGB值为HSV颜色空间:cmap=rgb2hsv(M)rgb2ntsc 转换RGB值为NTSC颜色空间:yiqmap=rgb2ntsc(rgbmap) YIQ=rgb2ntsc(RGB)rgb2ycbcr 转换RGB值为YCbCr颜色

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论