MATLAB中的imshow函数的使用方法及实例应用

一、imshow函数

           imshow是MATLAB工具软件中用于显示图像的函数,它支持多种图像类型,包括灰度图像、真彩色图像、索引图像等。以下是对imshow常用用法:

     imshow(I) 在图窗中显示灰度图像 I。imshow 使用图像数据类型的默认显示范围,并优化图窗、坐标区和图像对象属性以便显示图像。

     imshow(I,[low high]) 显示灰度图像 I,以二元素向量 [low high] 形式指定显示范围。小于low的值显示为黑色,大于high显示为白色。使用默认数量的灰度级别时,介于 low 和 high 之间的值显示为灰色的中间色调。

     imshow(I,[]) 显示灰度图像 I,根据 I 中的像素值范围对显示进行转换。imshow 使用 [min(I(:)) max(I(:))] 作为显示范围。imshow 将 I 中的最小值显示为黑色,将最大值显示为白色。

      imshow(RGB) 在图窗中显示真彩色图像 RGB。

       imshow(BW) 在图窗中显示二值图像 BW。对于二值图像,imshow 将值为 0(零)的像素显示为黑色,将值为 1 的像素显示为白色。

  注意:imshow有时候还会与InitialMagnification和Interpolation联合使用。

1.InitialMagnification — 图像显示的初始放大倍率

100 (默认) | 数值标量 | "fit"

图像显示的初始放大倍率,指定为数值标量或 "fit"。如果设为 100,则 imshow 在 100% 放大倍率下显示图像(每个图像像素对应一个屏幕像素)。如果设为 "fit",则 imshow 缩放整个图像以适合窗口。

2. Interpolation — 插值方法
"nearest" (默认) | "bilinear"

     插值方法,指定为 "nearest" 或 "bilinear"。MATLAB 通过插值在屏幕上显示图像的缩放版本。您选择的值不会影响图像数据。根据图像内容和要实现的效果选择插值方法:

     "nearest" - 最近邻点插值。位于 (x, y) 的像素值是原始图像中与 (x, y) 最邻近的像素值。当有少量表示明显不同类别的像素值时,或当您要在高度放大的视图中查看各个像素时,此方法最合适。

     "bilinear" - 双线性插值。位于 (x, y) 的像素值是原始图像中该位置周围像素的加权平均值。为了最大限度地减少显示伪影,当您缩小图像时,imshow 函数会执行抗锯齿功能。此方法在几乎所有其他情况下都最合适

二、应用实例

  1. imshow应用实例一:读入一幅RGB彩色图像,对其进行彩色图像显示,部分图像显示,适应窗口图像显示和灰度图像显示。程序代码如下:

  clear all;
close all;
clc;
% 读取图像  
img = imread('testPicture.jpg');  
[m,n,d]=size(img);
% 创建一个新的图形窗口并显示图像  
figure,imshow(img),title('显示图像');  
% 显示图像的一部分  
imtool(img);
imgSub=img(600:1120, 560:1200,:);
figure,imshow(imgSub),title('显示图像的一部分');  
% 调整图像显示的大小以适应窗口  
figure,imshow(img, 'InitialMagnification', 'fit'),title('适应窗口大小图像');  
figure('Name','imshow应用实例一','numbertitle','off');
subplot(2,2,1), imshow(img), title('原始彩色图像');  
subplot(2,2,2), imshow(imgSub), title('显示部分彩色图像');  
subplot(2,2,3), imshow(img, 'InitialMagnification', 'fit'),title('适应窗口大小图像');  
subplot(2,2,4), imshow(rgb2gray(img)), title('灰度图像');

部分运行结果如下:

2. imshow应用实例二

    从MATLAB手动输入一个double矩阵,并进行图像显示和数据类型转换并显示。程序如下:

clear all;
close all;
clc;
I=[1 2 3 4;5 6 7 8;9 10 11 12;...
    13 14 15 16];
whos I;
imshow(I);%注意矩阵I的数据类型是double,大于1的值均显示为白色。
figure,imshow(I,[]);%此时将最小值1显示为黑色,最大值16显示为白色,其余数据颜色在黑白之间进行显示。
I2=uint8(I);
figure,imshow(I2),title('将I矩阵(double)转化为uint8后图像');
figure('name','imshow的应用','numbertitle','off');
subplot(2,2,1),imshow(I,'InitialMagnification', 'fit'),title('适应窗口大小图像imshow(I)');  
subplot(2,2,2),imshow(I, [],'InitialMagnification', 'fit'),title('适应窗口大小图像imshow(I, []');  
subplot(2,2,3),imshow(I2,'InitialMagnification', 'fit'),title('适应窗口大小图像imshow(I2)');  
subplot(2,2,4),imshow(I2, [],'InitialMagnification', 'fit'),title('适应窗口大小图像imshow(I2, []'); 

部分运行结果如下:

    从运行结果可以看出,,imshow(I,'InitialMagnification', 'fit')对像素比较少时,采用该方法显示效果好。

        如果大家觉得本文对大家学习和研究有帮助,请关注、点赞和收藏,感谢大家支持!

     

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React(三):PDF文件在线预览(简易版)

效果 依赖下载 https://mozilla.github.io/pdf.js/getting_started/ 引入依赖 源码 注意:pdf文件的预览地址需要配置代理后才能显示出来 import ./index.scss;function PreviewPDF() {const PDF_VIEWER_URL new URL(./libs/pdfjs-4.5.136-dist/web/viewer.html, im…

软硬链接和动静态库

为什么一定要提供路径呢? 因为要根据路径找到文件 一切与路径相关的问题都是方便用户去访问文件 软硬链接 给我康康 软链接是这样的: ln -s file_target1.txt file_soft.link 软链接有独特的innode 这是硬链接: ln file_target2.txt …

【Redis】缓存三大问题与缓存一致性问题

缓存三大问题 缓存穿透 缓存穿透是指用户查询的数据在缓存和数据库中都不存在,导致每次请求都会直接落到数据库上,增加数据库负载。 解决方案 1)参数校验 一些不合法的参数请求直接抛出异常信息返回给客户端。比如查询的数据库 id 不能小于…

python3.10安装geopandans实战笔记

1.geopandans安装所需软件库版本 python3.10 GDAL-3.4.3-cp310-cp310-win_amd64.whl【手动下载】 Fiona-1.8.21-cp310-cp310-win_amd64.whl【手动下载】 shapely-2.0.2-cp310-cp310-win_amd64.whl【手动下载】 pyproj 手动下载地址:https://download.csdn.net/down…

Unity入门5——材质

创建材质 点击Assets → Create → Material,得到一个默认材质球的副本。 使用材质 直接把材质球拖拽到物体上,或设置mesh renderer组件下的Materials 数组中第一个元素

html+css网页设计公司网站模版3个页面 无js 静态页面

htmlcss网页设计公司网站模版3个页面 无js 静态页面 网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源…

iOS弱引用

背景:在面试过程中被问到如果两个对象已经发生循环引用了,该如何将他们剪断,在运行态的时候。 由于这个场景比较抽象,我理解面试官是希望我通过运行时的方法和方式来解决循环引用。 解决方案一: 重写setter用关联对象来实现wea…

数据库规范化设计 5大基本原则

规范化设计原则是数据库设计的基本原则,有助于减少数据冗余,提高数据一致性和完整性,简化数据管理,增强数据安全性,对整个开发项目至关重要。而缺乏规范化设计会导致数据冗余,增加存储成本,引发…

java 如何查看jar版本冲突,如何查看哪个模块依赖冲突,idea查看jar包冲突

1. idea 下载插件: 2. 如上图所示,下载Maven Helper, 注意是maven helper 不是别的 3.重启idea 4.点击pom文件,然后点击如图所示: 5. 如此即可查到,某个jar包 都有哪个模块依赖,使用的什么版本&#xff0…

【JavaEE】定时器

目录 前言 什么是定时器 如何使用java中的定时器 实现计时器 实现MyTimeTask类 Time类中存储任务的数据结构 实现Timer中的schedule方法 实现MyTimer中的构造方法 处理构造方法中出现的线程安全问题 完整代码 考虑在限时等待wait中能否用sleep替换 能否用PriorityBlo…

RISC-V竞赛|第二届 RISC-V 软件移植及优化锦标赛报名正式开始!

目录 赛事背景 赛道方向 适配夺旗赛 优化竞速赛 比赛赛题(总奖金池8万元!) 🔥竞速赛 - OceanBase 移植与优化 比赛赛程(暂定) 赛事说明 「赛事背景」 为了推动 RISC-V 软件生态更快地发展&#xff0…

收银系统源码-连锁店版本

千呼新零售2.0系统是零售行业连锁店一体化收银系统,包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体,线上线下数据全部打通。 私有化独立部署/全开源源码,系统开发语言: 核心开发语言: PHP、HTML…

【vue3】【elementPlus】【黑暗模式】

从创建vue3项目到引入elementPlus组件并设置黑暗模式 1.创建vue3项目: npm init vuelatest1.1 根据需求定制项目插件: 2.引入elementPlus组件: npm install element-plus --save2.1 如图注册全局elementPlus组件: ------------…

SPSS、Python员工满意度问卷调查激励保健理论研究:决策树、随机森林和AdaBoost|附代码数据

全文链接:https://tecdat.cn/?p37293 原文出处:拓端数据部落公众号 在深入了解公司当前的实际情况和员工内心真实想法的基础上,我们旨在从专业视角出发,为企业在组织管理方面的不足进行诊断,并进行全面审视。 为了…

vue实现PC端图片放大缩小可鼠标拖动,鼠标滚轮控制放大缩小完整代码付效果图

vue实现图片放大缩小可鼠标拖动&#xff0c;鼠标滚轮控制放大缩小完整代码付效果图 效果图&#xff1a; 创建一个ImageViewer 组件&#xff0c;并且在当前页面引用完整代码如下&#xff1a; 代码引用&#xff1a; <template><view><image-viewer :imageUrl&q…

2024年必备技能:智联招聘岗位信息采集技巧全解析

随着大数据时代的发展&#xff0c;精准定位职业机会成为程序员求职的关键。本文将深入解析如何利用Python高效采集智联招聘上的岗位信息&#xff0c;助你在2024年的职场竞争中脱颖而出。通过实战代码示例&#xff0c;揭示网络爬虫背后的秘密&#xff0c;让你轻松掌握这一必备技…

苹果应用程序清理卸载工具:App Cleaner Uninstaller Pro for Mac

App Cleaner & Uninstaller Pro 是一款专为 Mac OS X 操作系统设计的应用程序清理和卸载工具。这款软件的主要功能是帮助用户彻底删除不需要的应用程序、插件和残留文件&#xff0c;从而释放磁盘空间并提高系统性能。 特点和优势&#xff1a; 彻底卸载应用程序&#xff1a;…

历代文学-技术生态-总体介绍

1. 历代文学简介 历代文学&#xff08;https://literature.sinhy.com/#/literature?__c1000&#xff0c;微信小程序可直接搜索“历代文学”&#xff09;是一个由两个人&#xff08;一个后端和一个前端&#xff09;开发的文学网站&#xff0c;是一个收录从古到今、以及古今中外…

几款设计师必备的AI抠图软件工具分享给你!

前言 在图像处理领域&#xff0c;抠图是一项基本而关键的技能。传统上&#xff0c;PS是作为抠图的首选工具&#xff0c;但其操作复杂性往往令初学者望而却步。幸运的是&#xff0c;随着AIGC技术的发展&#xff0c;现在有多款AI软件和在线网站能够以更简单、快捷的方式完成抠图…

VS+Qt+C++点云PCL三维显示编辑系统

程序示例精选 VSQtC点云PCL三维显示编辑系统 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《VSQtC点云PCL三维显示编辑系统》编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易…