MATLAB图像处理GUI介绍
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
❖ imshow('circuit.tif');
❖ I = imcrop;
❖ figure, imshow(I) ❖ 运行imcrop后使用鼠标选取图形中的 一部分区域,imcrop的返回值为选取区域图 像的图像句柄。用鼠标选取图形中的一部分 区域,显示结果如图10.5所示。
图10.5 imcrop对图像进行的局部选取
10.1 图像处理GUI概述
❖ 在使用GUI工具时,可以直接从命 令栏中键入GUI工具名称、被处理的图 像(以下称为“目标图像”),作为参数 赋给GUI工具。MATLAB提供各种不同 功能的GUI模块。在实现处理功能时, GUI工具既可以独立使用也可以联合使 用,是一种典型的模块化处理方式。
❖ 使用GUI工具处理图像可分为以下 几个步骤。
❖ 在imcrop中加入坐标值可以实现在特 定矩形中的图像选取,代码如下:图10.6 mdistline测量图像距离
❖ I = imread('circuit.tif');
❖ I2 = imcrop(I,[75 68 130 112]);
❖ imshow(I),
❖ figure,
❖ imshow(I2)
❖ h = imshow(' peppers.png');
❖ info = imfinfo(' peppers.png');
❖ imageinfo(h,info); ❖其中imfinfo得到的是图像的基本信息,存储 在metadata数据结构中。显示界面如图10.7 所示。如果调用imageinfo(h),则只显示图像
❖ (2) 创建与目标图像相关的GUI。 ❖ 在用imshow显示图像后,使用返回的 图像句柄建立GUI或在当前默认的图像句柄 下,调用GUI工具可使GUI定位于目标图像。 例如下面的代码实现了调用像素信息GUI impixelinfo对图像信息的分析,如图10.2所 示,鼠标在图像上移动时,对应位置上的像
图10.8 immagbox缩放显示图像
❖ 6. 图像显示滚动条(Scroll Panel tool)
❖ 使用imscrollpanel可以得到水平和垂直 的滚动条,便于显示较大图像,其代码如下:
❖ hFig = figure('Toolbar','none',...
❖
'Menubar','none');
❖ hIm = imshow('saturn.png');
❖ hSP = imscrollpanel(hFig,hIm); ❖显示界面如图10.9所示。
图10.9 imscrollpanel滚动条
❖ 7. 图像全局观察(Overview tool) ❖ 使用imoverview可以在图像显示区域 构建一个矩形框,将矩形框内的图像放大到 另外一个窗体内,以便观察图像的细节,其 代码如下:
图10.7 imageinfo显示图像信息
❖ 5. 图像缩放比例调整(Magnification box) ❖ 使用immagbox可以在图像显示界面上 创建一个比例缩放的编辑框,实现图像大小 的调节显示,其代码如下:
❖ hFig = figure('Toolbar','none',... ❖ 'Menubar','none'); ❖ hIm = imshow('pears.png'); ❖ hMagBox = immagbox(hFig,hIm);
图10.2 impixelinfo处理下的图像界面
❖ 下面的代码实现了对特定目标图像的 处理,方法是将图像句柄赋予GUI工具,其 中imdisplayrange (himage)为图像灰度值的 范围,处理界面如图10.3所示。 ❖ himage = imshow('pout.tif'); ❖ hpixelinfopanel = impixelinfo(himage);
❖ (1) 显示目标图像。 ❖ 一般使用imshow函数显示图像,如 himage = imshow('pout.tif'),显示结果如图 10.1所示。返回的变量himage是图像pout.tif 的图像句柄,图像句柄类似于文件句柄,可 用于其它GUI工具作为图像处理的入口参数。
图10.1 imshow显示的图像
❖ imshow('pout.tif')
❖ imcontrast ❖或
❖ h = imshow('pout.tif')
❖ imcontrast(h) ❖ 运行结果如图10.4所示。
图10.4 imcontrast模块பைடு நூலகம்面
❖ 2.图像剪取(Crop Image tool) ❖ 使用imcrop可以实现图像局部区域的 选取,如下列代码所示:
10.2 图像处理GUI模块介绍
❖ 除了上面介绍的impixelinfo和 imdisplayrange模块以外,下面介绍MATLAB 中其它一些常用的GUI模块,利用这些模块, 用户可以自由组合出具有一定功能的图像处理
❖ 1.图像对比度调节(Adjust Contrast tool) ❖ 使用imcontrast可以调用图像对比度控 制对话框,使用对话框中的控件条可以自由 地调节图像的显示对比度,其代码如下:
图10.3 imdisplayrange处理下的图像界面
❖ 由上面的示例还可看出,impixelinfo和 imdisplayrange作为两个不同的GUI模块同时 处于工作状态,这是GUI模块化处理与一般 图像处理函数之间的明显区别。
❖ (3) 建立GUI和目标图像的互动连接。 ❖ 由上面介绍可看出GUI模块与目标图像 的连接是自动建立的,但用户也可以通过回 调函数(CallBack)建立各个工作中的GUI模块 之间的联系,这将在10.3节GUI编程中加以 介绍。
❖ 3. 距离测量(Distance tool) ❖ 使用mdistline可以实现对图像中两点距 离的测量,其代码如下:
❖ imshow('pout.tif')
❖ mdistline ❖ 测量结果如图10.6所示,距离一般用像 素个数表示。
图10.6 mdistline测量图像距离
❖ 4. 图像信息显示(Image Information tool) ❖ 使用imageinfo可以显示图像的详细信 息,如图像格式、大小、宽度和高度等,其 代码如下:
❖ I = imcrop;
❖ figure, imshow(I) ❖ 运行imcrop后使用鼠标选取图形中的 一部分区域,imcrop的返回值为选取区域图 像的图像句柄。用鼠标选取图形中的一部分 区域,显示结果如图10.5所示。
图10.5 imcrop对图像进行的局部选取
10.1 图像处理GUI概述
❖ 在使用GUI工具时,可以直接从命 令栏中键入GUI工具名称、被处理的图 像(以下称为“目标图像”),作为参数 赋给GUI工具。MATLAB提供各种不同 功能的GUI模块。在实现处理功能时, GUI工具既可以独立使用也可以联合使 用,是一种典型的模块化处理方式。
❖ 使用GUI工具处理图像可分为以下 几个步骤。
❖ 在imcrop中加入坐标值可以实现在特 定矩形中的图像选取,代码如下:图10.6 mdistline测量图像距离
❖ I = imread('circuit.tif');
❖ I2 = imcrop(I,[75 68 130 112]);
❖ imshow(I),
❖ figure,
❖ imshow(I2)
❖ h = imshow(' peppers.png');
❖ info = imfinfo(' peppers.png');
❖ imageinfo(h,info); ❖其中imfinfo得到的是图像的基本信息,存储 在metadata数据结构中。显示界面如图10.7 所示。如果调用imageinfo(h),则只显示图像
❖ (2) 创建与目标图像相关的GUI。 ❖ 在用imshow显示图像后,使用返回的 图像句柄建立GUI或在当前默认的图像句柄 下,调用GUI工具可使GUI定位于目标图像。 例如下面的代码实现了调用像素信息GUI impixelinfo对图像信息的分析,如图10.2所 示,鼠标在图像上移动时,对应位置上的像
图10.8 immagbox缩放显示图像
❖ 6. 图像显示滚动条(Scroll Panel tool)
❖ 使用imscrollpanel可以得到水平和垂直 的滚动条,便于显示较大图像,其代码如下:
❖ hFig = figure('Toolbar','none',...
❖
'Menubar','none');
❖ hIm = imshow('saturn.png');
❖ hSP = imscrollpanel(hFig,hIm); ❖显示界面如图10.9所示。
图10.9 imscrollpanel滚动条
❖ 7. 图像全局观察(Overview tool) ❖ 使用imoverview可以在图像显示区域 构建一个矩形框,将矩形框内的图像放大到 另外一个窗体内,以便观察图像的细节,其 代码如下:
图10.7 imageinfo显示图像信息
❖ 5. 图像缩放比例调整(Magnification box) ❖ 使用immagbox可以在图像显示界面上 创建一个比例缩放的编辑框,实现图像大小 的调节显示,其代码如下:
❖ hFig = figure('Toolbar','none',... ❖ 'Menubar','none'); ❖ hIm = imshow('pears.png'); ❖ hMagBox = immagbox(hFig,hIm);
图10.2 impixelinfo处理下的图像界面
❖ 下面的代码实现了对特定目标图像的 处理,方法是将图像句柄赋予GUI工具,其 中imdisplayrange (himage)为图像灰度值的 范围,处理界面如图10.3所示。 ❖ himage = imshow('pout.tif'); ❖ hpixelinfopanel = impixelinfo(himage);
❖ (1) 显示目标图像。 ❖ 一般使用imshow函数显示图像,如 himage = imshow('pout.tif'),显示结果如图 10.1所示。返回的变量himage是图像pout.tif 的图像句柄,图像句柄类似于文件句柄,可 用于其它GUI工具作为图像处理的入口参数。
图10.1 imshow显示的图像
❖ imshow('pout.tif')
❖ imcontrast ❖或
❖ h = imshow('pout.tif')
❖ imcontrast(h) ❖ 运行结果如图10.4所示。
图10.4 imcontrast模块பைடு நூலகம்面
❖ 2.图像剪取(Crop Image tool) ❖ 使用imcrop可以实现图像局部区域的 选取,如下列代码所示:
10.2 图像处理GUI模块介绍
❖ 除了上面介绍的impixelinfo和 imdisplayrange模块以外,下面介绍MATLAB 中其它一些常用的GUI模块,利用这些模块, 用户可以自由组合出具有一定功能的图像处理
❖ 1.图像对比度调节(Adjust Contrast tool) ❖ 使用imcontrast可以调用图像对比度控 制对话框,使用对话框中的控件条可以自由 地调节图像的显示对比度,其代码如下:
图10.3 imdisplayrange处理下的图像界面
❖ 由上面的示例还可看出,impixelinfo和 imdisplayrange作为两个不同的GUI模块同时 处于工作状态,这是GUI模块化处理与一般 图像处理函数之间的明显区别。
❖ (3) 建立GUI和目标图像的互动连接。 ❖ 由上面介绍可看出GUI模块与目标图像 的连接是自动建立的,但用户也可以通过回 调函数(CallBack)建立各个工作中的GUI模块 之间的联系,这将在10.3节GUI编程中加以 介绍。
❖ 3. 距离测量(Distance tool) ❖ 使用mdistline可以实现对图像中两点距 离的测量,其代码如下:
❖ imshow('pout.tif')
❖ mdistline ❖ 测量结果如图10.6所示,距离一般用像 素个数表示。
图10.6 mdistline测量图像距离
❖ 4. 图像信息显示(Image Information tool) ❖ 使用imageinfo可以显示图像的详细信 息,如图像格式、大小、宽度和高度等,其 代码如下: