当前位置: 首页 > news >正文

matlab操作方法(三)——matlab中的数字图像(读取、显示、保存)

数字图像是二维图像用有限数字数值像素的表示。通常像素在计算机中保存为二维整数数组的光栅图像,这些值经常用压缩格式进行传输和存储。

二值图像:图像中每个像素的亮度值仅可以取自0或1的图像,因此也称为1bit图像

灰度图像:图像中每个像素可以由0(黑)到255(白)的亮度值表示。0~255之间表示不同的灰度阶

彩色图像:彩色图像主要分为两种类型,RGB和CMYK。其中RGB的彩色图像是由三种不同颜色成分组合而成(R红色,G绿色,B蓝色),而CMYK类型的图像则是由四个颜色成分组成(C青,M品,Y黄,K黑),CMYK类型的图像主要用于印刷行业

1.matlab中图像的读取

在matlab中利用函数imread()来实现图像文件的读取操作

A = imread(filename)
A = imread(filename,fmt)
A = imread(____,idx)
A = imread(____,Name,Value)
[A,map] = imread(____)
[A,map,transparency] = imread(____)

A = imread(filename)从filename指定的文件读取图像,并从文件内容推断出其格式。如果filename为多图像文件,则 imread读取该文件中的第一个图像

 

2.图像的显示

在matlab中提供的图像显示函数包括imshow()、image()、imagesc()

函数imshow()的语法格式如下:

imshow(I)
imshow(X,map)
imshow(filename)
imshow(I,[low,high])
imshow(____,Name,Value)
himage=imshow(____)

imshow(I,[low,high])表示用指定的灰度范围[low,high]显示灰度图像I,在显示的灰度图像中,灰度值小于等于low的用黑色表示,灰度值大于等于high的都用白色表示,介于low和high之间的用其灰度值的默认值的中间色调显示,如果用一个空矩阵[ ]来代替[low,high],imshow将使用[min(I(:)),max(I(:)]作为第二个参数

 image从数组显示图像,

函数image()的语法如下:

image(C)
image(x,y,C)
image('CData',C)
image('XData',x,'YData',y,'CData',C)
image(____,Name,Value)
image(ax,____)
im =image(____)

 image(C)会将数组C中的数据显示为图像。C的每个元素指定图像的1个像素的颜色,生成的图像是一个m*n像素网格,其中m和n分别是C中的行数和列数,这些元素的行索引和列索引确定了对应像素的中心;

image(x,y,C)指定图像位置,使用x和y可指定与C(1,1)和C(m,n)对应的边角位置。要同时指定两个边角,请将x和y设置为二元素向量,要指定第一个边角并让image确定另一个,请将x和y设置为标量值,图像将根据需要进行拉伸和定向

imagesc()函数的用法格式与image()基本类似

3.图像的输出

matlab利用函数imwrite()来实现图像文件的输出和保存操作,其语法格式为:

imwrite(A,filename)
imwrite(A,map,filename)
imwrite(____,fmt)
imwrite(____,Name,Value)

imwrite(A,filename)将图像数据A写入到filename指定的文件,并从扩展名推断出文件格式,imwrite在当前文件夹中创建新文件。

 

 

相关文章:

  • 基于微信小程序的校园二手闲置物品交易平台的设计与实现
  • 【期末复习向】常见的激活函数
  • 常见的工作流编排引擎
  • 基于docker容器化部署微服务
  • 云计算大屏,可视化云计算分析平台(云实时数据大屏PSD源文件)
  • 【Linux服务器Java环境搭建】09 在CentOS系统中安装和配置clickhouse数据库
  • Active Objects设计模式
  • Pandas实践_分组
  • 020 OpenCV 轮廓、外接圆、外接矩形
  • Postman-脚本自动化及定时执行脚本(7)
  • Mac 中文版 Navicat Premium 16 下载安装详细教程
  • LeetCode力扣每日一题(Java):58、最后一个单词的长度
  • 内网服务器部署maven私服简记
  • 微信小程序map视野发生改变时切换定位点
  • 案例055:基于微信小程序的四六级词汇
  • [NodeJS] 关于Buffer
  •  D - 粉碎叛乱F - 其他起义
  • Java-详解HashMap
  • spring学习第二天
  • vue-router的history模式发布配置
  • 关于Java中分层中遇到的一些问题
  • 前端相关框架总和
  • 数组的操作
  • Linux权限管理(week1_day5)--技术流ken
  • Python 之网络式编程
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • $$$$GB2312-80区位编码表$$$$
  • (06)金属布线——为半导体注入生命的连接
  • (1)(1.13) SiK无线电高级配置(五)
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (Matlab)使用竞争神经网络实现数据聚类
  • (Oracle)SQL优化技巧(一):分页查询
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (八十八)VFL语言初步 - 实现布局
  • (定时器/计数器)中断系统(详解与使用)
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (十六)串口UART
  • (一) springboot详细介绍
  • (一)u-boot-nand.bin的下载
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .net连接MySQL的方法
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .net图片验证码生成、点击刷新及验证输入是否正确
  • .net中的Queue和Stack
  • .secret勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
  • /dev/sda2 is mounted; will not make a filesystem here!