matlab 图像增强显示图像

君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
matlab绘制的几个figure(图象)怎么在同一个图象窗口中显示?
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口matlab中图像显示函数_百度知道
matlab中图像显示函数
matlab中图像显示函数inshow主要用于调用图像索引,比如: imshow(X,map)其功能等同于: image(X) colormap(map)但是,inshow的功能要强大一些,比如用于灰度图像,RGB图像,二进制图像,都可以应用。imagesc属于图像缩放函数具体说一些例子:要显示一副灰度图像,可以调用函数 imshow 或 imagesc (即 imagescale,图像缩放函数)
(1) imshow 函数显示灰度图像
使用 imshow(I)
或 使用明确指定的灰度级书目:imshow(I,32)
由于Matlab自动对灰度图像进行标度以适合调色板的范围,因而可以使用自定义大小的调色板。其调用格式如下:
imshow(I,[low,high])
其中,low 和 high 分别为数据数组的最小值和最大值。
(2) imagesc 函数显示灰度图像
下面的代码是具有两个输入参数的 imagesc 函数显示一副灰度图像
imagesc(1,[0,1]);
colormap(gray);
imagesc 函数中的第二个参数确定灰度范围。灰度范围中的第一个值(通常是0),对应于颜色映象表中的第一个值(颜色),第二个值(通常是1)则对应与颜色映象表中的最后一个值(颜色)。灰度范围中间的值则线型对应与颜色映象表中剩余的值(颜色)。
在调用 imagesc 函数时,若只使用一个参数,可以用任意灰度范围显示图像。在该调用方式下,数据矩阵中的最小值对应于颜色映象表中的第一个颜色值,数据矩阵中的最大值对应于颜色映象表中的最后一个颜色值。5.3 RGB 图像及其显示
(1) image(RGB)
不管RGB图像的类型是double浮点型,还是 uint8 或 uint16 无符号整数型,Matlab都能通过 image 函数将其正确显示出来。
RGB8 = uint8(round(RGB64×255)); % 将 double 浮点型转换为 uint8 无符号整型
RGB64 = double(RGB8)/255;
% 将 uint8 无符号整型转换为 double 浮点型
RGB16 = uint16(round(RGB64×65535)); % 将 double 浮点型转换为 uint16 无符号整型
RGB64 = double(RGB16)/65535;
% 将 uint16 无符号整型转换为 double 浮点型
(2) imshow(RGB) 参数是一个 m×n×3 的数组5.4 二进制图像及其显示
(1) imshow(BW)
在 Matlab 7.0 中,二进制图像是一个逻辑类,仅包括 0 和 1 两个数值。像素 0 显示为黑色,像素 1 显示为白色。
显示时,也可通过NOT(~)命令,对二进制图象进行取反,使数值 0 显示为白色;1 显示为黑色。
例如: imshow(~BW)
(2) 此外,还可以使用一个调色板显示一副二进制图像。如果图形是 uint8 数据类型,则数值 0 显示为调色板的第一个颜色,数值 1 显示为第二个颜色。
例如: imshow(BW,[1 0 0;0 0 1])
其他类似问题
为您推荐:
第二个值(通常是1)则对应与颜色映象表中的最后一个值(颜色);255,RGB图像:
imshow(I。imagesc属于图像缩放函数具体说一些例子,数据矩阵中的最小值对应于颜色映象表中的第一个颜色值,使数值 0 显示为白色,若只使用一个参数;
% 将 uint8 无符号整型转换为 double 浮点型
RGB16 = uint16(round(RGB64×65535)),可以用任意灰度范围显示图像。其调用格式如下,[0,low 和 high 分别为数据数组的最小值和最大值,二进制图像,因而可以使用自定义大小的调色板,仅包括 0 和 1 两个数值;
colormap(gray),则数值 0 显示为调色板的第一个颜色;
imagesc 函数中的第二个参数确定灰度范围,数值 1 显示为第二个颜色,还是 uint8 或 uint16 无符号整数型。如果图形是 uint8 数据类型,map)其功能等同于。5.4 二进制图像及其显示
(1) imshow(BW)
在 Matlab 7。在该调用方式下,像素 1 显示为白色。
例如,对应于颜色映象表中的第一个值(颜色),inshow的功能要强大一些.3 RGB 图像及其显示
(1) image(RGB)
不管RGB图像的类型是double浮点型,32)
由于Matlab自动对灰度图像进行标度以适合调色板的范围,1]),Matlab都能通过 image 函数将其正确显示出来: imshow(~BW)
(2) 此外,可以调用函数 imshow 或 imagesc (即 imagescale,[low.0 中,图像缩放函数)
(1) imshow 函数显示灰度图像
使用 imshow(I)
或 使用明确指定的灰度级书目; % 将 double 浮点型转换为 uint8 无符号整型
RGB64 = double(RGB8)/
% 将 uint16 无符号整型转换为 double 浮点型
(2) imshow(RGB) 参数是一个 m×n×3 的数组5,数据矩阵中的最大值对应于颜色映象表中的最后一个颜色值。像素 0 显示为黑色。
显示时,比如,比如用于灰度图像。
(2) imagesc 函数显示灰度图像
下面的代码是具有两个输入参数的 imagesc 函数显示一副灰度图像
imagesc(1。
RGB8 = uint8(round(RGB64×255))。
例如inshow主要用于调用图像索引,对二进制图象进行取反,也可通过NOT(~)命令; % 将 double 浮点型转换为 uint16 无符号整型
RGB64 = double(RGB16)&#47。灰度范围中间的值则线型对应与颜色映象表中剩余的值(颜色):要显示一副灰度图像,high])
其中: image(X) colormap(map)但是;1 显示为黑色,还可以使用一个调色板显示一副二进制图像。
在调用 imagesc 函数时,都可以应用;65535:imshow(I,二进制图像是一个逻辑类。灰度范围中的第一个值(通常是0): imshow(BW,[1 0 0: imshow(X
matlab的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁新浪广告共享计划>
广告共享计划
Matlab&图像处理基本操作
Matlab 图像处理基本操作
一、图像基本操作
1.读取图像并显示:
all&&&&&&&
&%清空Matlab工作平台所有变量(准备工作)
I=imread('pout.tif');& %
该图像是Matlab图形工具箱中自带的图像(\toolbox\images\imdemos)
&& imshow(I)
2.检查内存(数组)中的图像:
Size&&&&&&&&&&&&&&&&&&&
Bytes&& Class
291x240&&&&&&&&&&&&&&&&&&
69840& uint8 array
Grand total is 69840 elements
using 69840 bytes
表示该图像采用8位存储方式并占用了69840B的存储空间。
3.实现图像直方图均衡化:
figure,imhist(I)&&&
% 在新图中显示图像I的直方图
I2=histeq(I);& %
均衡化以后的图像存在I2数组中(图像灰度值扩展到整个灰度范围,对比度提高)
figure,imshow(I2)& % 显示均衡化后的图像
figure,imhist(I2)&& %
显示均衡后的灰度值分布情况
8位图像取值范围:[0,255],16位图像取值范围:[0,655351],双精度图像取值范围:[0,1]
4.保存图像:
imwrite(I2,'pout2.png');&&&
% 将图像由原先的tif格式另存为png格式
5.检查新生成文件的信息:
imfinfo('pout2.png')&&&&
% 观察保存图像的文件信息
&&&&&&&&&&&&&&&&&
'pout2.png'&&&&&&&%
&&&&&&&&&&&&&&
FileModDate: '11-Apr-2009
21:55:35'&& % 文件修改日期
&&&&&&&&&&&&&&&&&
36938&&&&&&
% 文件大小
&&&&&&&&&&&&&&&&&&&
'png'&&&&&&&%&文件格式
&&&&&&&&&&&&
FormatVersion:
[]&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&
240&&&&&&&
% 文件宽度
&&&&&&&&&&&&&&&&&&&
291&&&&&&&
% 文件高度
&&&&&&&&&&&&&&&&&
8&&&&&&&&&
% 文件位深度
&&&&&&&&&&&&&&&&
ColorType: 'grayscale'& % 颜色类型
&&&&&&&&&&&&&&&&&&&&&&
二、图像处理Matlab的应用:
实例:消除rice.png图像中亮度不一致的背景,并使用阈值将修改后的图像转换为二值图像,使用成员标记返回图像中对象的个数以及统计特性。按照如下步骤进行:
1.读取和显示图像
&& I=imread('rice.png');
&& imshow(I)
2.估计图像背景:
图像中心位置背景亮度强于其他部分亮度,用imopen函数和一个半径为15的圆盘结构元素对输入的图像I进行形态学开操作,去掉那些不完全包括在圆盘中的对象,从而实现对背景亮度的估计。
&& I=imread('rice.png');
&& imshow(I)
background=imopen(I,strel('disk',15));
&& imshow(background)
figure,surf(double(background(1:8:end,1:8:end))),zlim([0,255]);
set(gca,'ydir','reverse');
显示了背景图(左)和背景表面图(右)
3.从原始图像中减去背景图像(原始图像I减去背景图像得到背景较为一致的图像):
I2=imsubtract(I,background);
&& figure,imshow(I2)
4.调节图像的对比度
(图像较暗,可用imadjust函数命令来调节图像的对比度)
I3=imadjust(I2,stretchlim(I2),[0 1]);
&& figure,imshow(I3);
5.使用阈值操作将图像转换为二进制(二值)图像(bw),调用whos命令查看图像的存储信息.
level=graythresh(I3);&& %
图像灰度处理
bw=im2bw(I3,level);&&&&
% 图像二值化处理
figure,imshow(bw)&&&&&&
% 显示处理后的图片
Name&&&&&&&&&&&&
Size&&&&&&&&&&&&&&&&&&&
Bytes& Class
I&&&&&&&&&&&&&
256x256&&&&&&&&&&&&&&&&&&
65536& uint8 array
I2&&&&&&&&&&&&
256x256&&&&&&&&&&&&&&&&&&
65536& uint8 array
I3&&&&&&&&&&&&
256x256&&&&&&&&&&&&&&&&&&
65536& uint8 array
background&&&&
256x256&&&&&&&&&&&&&&&&&&
65536& uint8 array
bw&&&&&&&&&&&&
256x256&&&&&&&&&&&&&&&&&&
65536& logical array
level&&&&&&&&&&&
1x1&&&&&&&&&&&&&&&&&&&&&&&&
8& double array
Grand total is 327681 elements
using 327688 bytes
6.检查图像中对象个数(bwlabel函数表示了二值图像中的所有相关成分并返回在图像中找到的对象个数)
[labeled,numObjects]=bwlabel(bw,4);
&&&numObjects&&
numObjects =
表示图像中的米粒对象个数是101.
7.检查标记矩阵:(imcrop命令进行交互式操作,图像内拉出较小矩形并显示已标记的对象和部分背景内的像素)
grain=imcrop(labeled)
8.观察标记矩阵(用label2rgb将其显示为一副伪彩色的索引图像):
RGB_label=label2rgb(labeled,@spring,'c','shuffle');
&& imshow(RGB_label);
9.测量图像对象或区域的属性(Regionprops,返回一个结构数据)
graindata=regionprops(labeled,'basic')
graindata =
101x1 struct array with
BoundingBox
graindata(40).Area&& %
显示矩阵中第40个元素的属性
graindata(40).BoundingBox,graindata(40).Centroid&&&
% 寻找最近的边缘和中心点
24.0000&& 20.0000
95.4213&& 70.4924
allgrains=[graindata.Area];&&&&
% 创建一个新的向量allgrains,其包含每个米粒的范围
&& whos allgrains
Name&&&&&&&&&&&
Size&&&&&&&&&&&&&&&&&&&
Bytes& Class
allgrains&&&&&&
1x101&&&&&&&&&&&&&&&&&&&&
808& double array
Grand total is 101 elements
using 808 bytes
allgrains(51)&&&&
% 相当于整个矩阵的索引为51的属性是多少,可见与原来得到的结果相同
max(allgrains)&&&
% 获取最大的米粒大小
biggrain=find(allgrains==404)&&&
% 使用find命令返回这个最大尺寸米粒的标记号
biggrain =
mean(allgrains)&& %
获取米粒的平均大小
9.绘制包含30个柱的直方图来说明米粒大小的分布情况
hist(allgrains,30)
(米粒大小分布柱状图)
相关链接:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 matlab 图像增强 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信