Matlab2012a的图像处理工具箱的imshow函数

news2024/9/30 15:30:40

在处理图片文件时,除了使用matlab自带的image函数,还可以考虑用matlab的图像处理工具箱。这个工具箱提供了imshow和imtool两个函数,可实现图片的显示。

这两个函数都支持Handle Graphics体系结构,它们可创建图像对象,并将其显示在图形对象所包含的坐标轴对象中。

Imshow是工具箱的基本函数,可实现图片的显示。这个函数支持多种图像类型,如灰度(强度)、真彩色(RGB)、二进制和索引。

另一个函数imtool可启动图像处理窗口,这个窗口可显示图像,并提供了一些常见的处理功能,如滚动条、像素区域工具、图像信息工具和调整对比度工具。

一般来说,在处理图片时,使用这两个函数比用image和imagesc更好,因为图像处理工具箱为了优化图像显示,自动设置了某些handle Graphics属性。下表列出了每种图像类型的这些属性及其设置。表中,X表示索引图像,I表示灰度图像,BW表示二值图像,RGB表示真彩色图像。

小贴士:imshow和imtool都可以支持图像自动缩放。当使用语法imshow(I,'DisplayRange',[])调用时,类似地对于imtool,函数将轴CLim属性设置为[min(I(:)) max(I(:))]。CDataMapping总是对灰度图像进行缩放,因此值min(I(:))使用第一个colormap颜色显示,值max(I(:))使用最后一个colormap颜色显示。

Handle Graphics Property

句柄图像属性

Indexed Images

索引图像

Grayscale Images

灰度图像

Binary Images

二进制图像

Truecolor Images

真彩色图像

CData (Image)

Set to the data in XSet to the data in ISet to data in BWSet to data in RGB 
CDataMapping (Image)

Set to 'direct'

设置为直接

Set to 'scaled'

设置为缩放

Set to 'direct'

设置为直接

Ignored when CData is 3-D

当CData为三维时忽略

CLim (Axes)

Does not apply

double: [0 1] 
uint8:  [0 255] 
uint16: [0 65535]
Set to [0 1]

Ignored when CData is 3-D

当CData为三维时忽略

Colormap (Figure)

Set to data in map

Set to grayscale colormapSet to a grayscale colormap whose values range from black to white

Ignored when CData is 3-D

当CData为三维时忽略

参考内容所处位置:Image processing toobox - user's guide - displaying and exploring images - overview.

下面再来看如何使用交互工具的一个例子。

先看代码

clc;clear;

% 读入左右图片
left_image = imread('peppers.png');
right_image = edge(left_image(:,:,1),'canny');

% 创建窗口
hFig = figure('Toolbar','none',...
              'Menubar','none',...
              'Name','My Image Compare Tool',...
              'NumberTitle','off',...
              'IntegerHandle','off');
          
% 显示左图             
subplot(121)  
hImL = imshow(left_image);

% 显示右图
subplot(122)
hImR = imshow(right_image);

% 为左图创建滚动面板
hSpL = imscrollpanel(hFig,hImL);
set(hSpL,'Units','normalized','Position',[0 0.1 .5 0.9])

% 为右图创建滚动面板
hSpR = imscrollpanel(hFig,hImR);
set(hSpR,'Units','normalized','Position',[0.5 0.1 .5 0.9])

% 添加放大框
hMagBox = immagbox(hFig,hImL);
pos = get(hMagBox,'Position');
set(hMagBox,'Position',[0 0 pos(3) pos(4)])

% 添加总览工具
imoverview(hImL) 

% 从滚动面板获取API
apiL = iptgetapi(hSpL);
apiR = iptgetapi(hSpR);

% 同步左右滚动面板
apiL.setMagnification(apiR.getMagnification())
apiL.setVisibleLocation(apiR.getVisibleLocation())

% 当左滚动面板缩放时 告诉右滚动面板
apiL.addNewMagnificationCallback(apiR.setMagnification);

% 当右滚动面板缩放时 告诉左滚动面板
apiR.addNewMagnificationCallback(apiL.setMagnification);

% 当左滚动面板平移时 告诉右滚动面板
apiL.addNewLocationCallback(apiR.setVisibleLocation);

% 当右滚动面板平移时 告诉左滚动面板
apiR.addNewLocationCallback(apiL.setVisibleLocation);

这个效果是这样的,看下总览:

有两个窗口,代码实现了左右图的联动。不管在总览图还是主界面交互,都是会产生同步的作用效果。 

这个例子位于:Image processing toobox - user's guide - building GUIs with modular tools - Customizing Modular Tool interactively - Example: Biulding an image comparison tool.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/485518.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【AWS入门】AWS CICD

目录 一 .TASK二. 环境准备IAM创建存储库ec2-repoec2-wp 三. Code Deploy创建应用程序创建部署组创建管道部署后的ec2-wp 一 .TASK 创建2台EC2实例,一台名为「ec2-repo」,用作开发环境,将编写好的代码提交至repository(需安装git)&#xff0…

二十六、ISIS技术总结

文章目录 ISIS 概述一、路由协议总结1、路由优先级2、分类 二、ISIS 协议特点1、特点2、ISIS 路由器的种类 三、ISIS 配置1、基础配置2、network-entity含义3、router id 和系统id转换规则 四、ISIS 开销计算1、Narrow 模式2、Wide 模式 五、 ISIS 和 OSPF 的区别 ISIS 概述 I…

TortoiseGit提示No supported authentication methods available异常

TortoiseGit他属于git的客户端,可有可无,说白了就是将git命令给我们整理成了可直接操作的按钮。 本地代码是使用了SSH的方式去拉取的代码,但是通过TortoiseGit pull代码的时候发生了如下异常,而GitBash却可以正常使用。 TortoiseG…

机器学习技术-激活函数

激活函数 作用 f(*)称为激活函数或激励函数(Activation Function),激活函数的主要作用是完成数据的非线性变换,解决线性模型的表达、分类能力不足的问题;如果网络中都是线性变换,则多层网络可以通过矩阵变换&#xf…

C6678学习-EDMA

文章目录 1、简介1. EDMA3概述2、EDMA3的组成3、EDMA3的工作流程4、EDMA3通道控制器(EDMA3CC)5、触发方式 2、EDMA3的传输1、传输数据块的定义2、传输类型3、参数PaRAM4、通道5、OPT参数 3、补充1、EDMA3通道控制器区域 1、简介 1. EDMA3概述 基于C66x…

车载滤波器组件焊锡开裂失效分析

案例背景 车载滤波器组件在可靠性试验后,主板上的插件引脚焊点发生开裂异常。 分析过程 焊点外观 说明:插件器件引脚呈现出明显的焊点开裂状态。 X-RAY检测 针对异常焊点的X-RAY检测: 说明:通孔(支撑孔)的透…

如何用ChatGPT做项目管理?

ChatGPT可以通过创建和维护跨团队项目协作计划,让员工更容易理解他们的角色和职责。这个协作计划里面会包括每个团队或个人要执行的具体任务,每个任务最后期限和任何事情之间的依赖关系。 该场景对应的关键词库:(24个&#xff09…

springboot框架开发医院云HIS 住院医生站、住院护士站功能实现

住院医生站主模块:包括医嘱管理、病案首页、分配入科、住院清单、我的质控等子模块 (1)医嘱管理功能简介 ①住院患者开立医嘱、支持医嘱复制、停止、作废等操作; ②医嘱类型含药品、项目、材料、嘱托; ③支持住院各…

(2022 IV) RCBEV

这篇是清华大学发表在IV(IEEE Transactions on Intelligent Vehicles)上的文章: Bridging the view disparity between radar and camera features for multi-modal fusion 3d object detection 文章信息讲得比较细致,非常值得一看&#xff…

【人工智能】— 不确定性、先验概率/后验概率、概率密度、贝叶斯法则、朴素贝叶斯 、最大似然估计

【人工智能】— 不确定性 不确定性不确定性与理性决策基本概率符号先验概率(无条件概率)/后验概率(条件概率)随机变量概率密度联合概率分布公理完全联合分布概率演算独立性 贝叶斯法则例1例2 使用贝叶斯规则:合并证据朴素贝叶斯最大似然估计小结 不确定性 不确定性与…

osg::Drawable类通过setDrawCallback函数设置回调函数的说明

osg::Drawable类可以通过该类的setDrawCallback函数设置回调函数类对象。被设置的回调类对象必须从osg::Drawable::DrawCallback类派生,并重写drawImplementation函数,以实现自己特定的需求。这个回调函数每次在帧事件中都会被调用(如:在帧的…

SpringBoot定义优雅全局统一Restful API 响应框架二

这里解决之前留下来的问题,当程序没有正常返回时候 就是程序由于运行时异常导致的结果,有些异常我们可,能无法提前预知,不能正常走到我们return的R对象返回。这个时候该如何处理 在SpringBoot中,可以使用ControllerA…

AI 作画火了,如何用 Serverless 函数计算部署 Stable Diffusion?

作者:寒斜 立即体验基于函数计算部署 Stable Diffusion: https://developer.aliyun.com/topic/aigc AIGC 领域目前大火, 除了 Chatgpt,在文生图领域 Stable Diffusion 大放异彩,深刻的地影响着绘画、视频制作等相关…

古剑飞仙手游Linux系统服务器架设教程

安装宝塔直接运行命令即可。 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 搭建环境: centos 7以上系统服务器 宝塔面板安装应用如下: Nginx1.14 mysql5.7 php5.6 1…

HNU-操作系统OS-实验Lab1

OS_Lab1_Experimental report 湖南大学信息科学与工程学院 计科 210X wolf (学号 202108010XXX) 为了实现 lab1 的目标,lab1 提供了 6 个基本练习和 1 个扩展练习,要求完成实验报告。 对实验报告的要求: 基于 mark…

【CSS笔记】CSS动画效果(2d、3d)之渐变色、过渡、变换、平移、缩放、旋转、倾斜、关键帧动画

这篇文章,主要介绍CSS动画效果(2d、3d)之渐变色、过渡、变换、平移、缩放、旋转、倾斜、关键帧动画。 目录 一、2d动画 1.1、渐变色 (1)线性渐变色 (2)径向渐变色 (3&#xff0…

SpringBoot 基础

一、简介 SpringBoot用来简化Spring应用的初始搭建和开发过程, SpringBoot四大核心: 自动配置 起步依赖 Actuator 命令行界面 二、入门案例 1. 基于IDEA创建步骤 ① 创建新模块,选择Spring Initializr,并配置模块相关基础信息…

AI和GPT之间什么关系,GPT怎么推动AI发展

AI(人工智能)和GPT(Generative Pre-trained Transformer)都是与计算机技术相关的术语,但它们代表着不同层次的概念。以下是它们之间的区别: 定义: AI是指任何类型的计算机科学,如机…

【AWS入门】AWS Lamda

目录 创建一个Lamda函数用Lamda函数控制启停EC2实例创建一台EC2实例创建角色创建lamda函数 使用Amazon EventBridge计划启停实例创建EventBridge 用户往S3存储桶上传图片文件,触发Lambda函数,将图片压缩并上传至另一个存储桶创建两个存储桶通过Cloudform…

【前端】3.CSS基础知识

系列文章链接 1.背景知识与学习路线 2.HTML基础知识 3.CSS基础知识 4.JavaScript基础知识 文章目录 1. 基本概念1.1 CSS 定义1.2 CSS 用途1.3 CSS 支持的属性举例 2. CSS 基础语法2.1 demo2.2 选择器2.3 CSS创建2.3.1 外部样式表2.3.2 内部样式表2.3.3 内联样式 3. 总结3.1 CSS…