matlab输出矩阵格式_matlab中uint8函数用法

matlab输出矩阵格式_matlab中uint8函数用法1、uint8与doubledouble函数只是将读入图像的uint8数据转换为double类型,一般不使用;常用的是im2double函数,将uint8图像转为double类型,范围为0-1,如果是255的图像,那么255转为1,0还是0,中间的做相应改变。MATLAB中读入图像的数据类型是uint8,而在矩阵中使用的数据类型是double。因此I2=im2dou…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1、uint8与double
double函数只是将读入图像的uint8数据转换为double类型,一般不使用;常用的是im2double函数,将
uint8图像转为double类型,范围为0-1,如果是255的图像,那么255转为1,0还是0,中间的做相应改变。
MATLAB中读入图像的数据类型是uint8,而在矩阵中使用的数据类型是double。因此
I2=im2double(I1) :把图像数组I1转换成double精度类型;如果不转换,在对uint8进行加减时会产生
溢出。默认情况下,matlab将图象中的数据存储为double型,即64位浮点数;matlab还支持无符号整型
(uint8和uint16);uint型的优势在于节省空间,涉及运算时要转换成double型。
im2double():将图象数组转换成double精度类型
im2uint8():将图象数组转换成unit8类型
im2uint16():将图象数组转换成unit16类型
2、uint8和im2uint8
在数据类型转换时候uint8和im2uint8的区别,uint8的操作仅仅是将一个double类型的小数点后面的部
分去掉;但是im2uint8是将输入中所有小于0的数设置为0,而将输入中所有大于1的数值设置为255,再将所
有其他值乘以255。
图像数据在计算前需要转换为double,以保证精度;很多矩阵数据也都是double的。要想显示其,必须先
转换为图像的标准数据格式。如果转换前的数据符合图像数据标准(比如如果是double则要位于0~1之间)
,那么可以直接使用im2uint8。如果转换前的数据分布不合规律,则使用uint8,将其自动切割至0~255(
超过255的按255)。最好使用mat2gray,将一个矩阵转化为灰度图像的数据格式(double)
3、double类型图像的显示
图像数据在进行计算前要转化为double类型的,这样可以保证图像数据运算的精度。很多矩阵的很多矩
阵数据也都是double的,要想显示其,必须先转换为图像的标准数据格式。如果直接运行imshow(I),我们会
发现显示的是一个白色的图像。这是因为imshow()显示图像时对double型是认为在0~1范围内,即大于1时都
是显示为白色,而imshow显示uint8型时是0~255范围。而经过运算的范围在0-255之间的double型数据就被
不正常得显示为白色图像了。具体方法有:
imshow(I/256); ———-将图像矩阵转化到0-1之间
imshow(I,[]); ———-自动调整数据的范围以便于显示 (注意这里,必须是灰度图,否
则不行)
imshow(uint8(I));
imshow(mat2gray(I));
上面的mat2gray是将最终获得的矩阵转化为灰度图像。常用的为:
A = im2uint8(mat2gray(result))
这样就将result矩阵转化为uint8类型的图像。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192459.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • verycd下载办法_zj服务是啥意思

    verycd下载办法_zj服务是啥意思
    阿汤:verycd关闭了下载,转型成为社交网站?那它与豆瓣/mtime有多少区别呢?没有verycd的下载总感觉还是很遗憾的,毕竟下载并不是所有都是盗版。正版化是我们的趋势,但电子化下载也是趋势。VeryCD关闭下载服务,或将转型作者: SafenZhai,发布于2011年01月23日20时08分.分类: 深度分析, 行业趋势..
    著名的下载网站VeryCD因尚未取得试听许可证,将要关闭下载相关的服务。
    VeryCD由黄一孟成立于2005年,致力于成为最大的免费P2P分享基

    2022年8月10日
    7
  • ClickHouse左连接

    ClickHouse左连接A左连接B===>S1区域SELECTdate,ts,country,province,city,ye_noFROM(SELECTdate,ts,country,province,city,0ASyes_noFROMDBa.tbaWH…

    2022年9月19日
    2
  • 偏最小二乘法的几种解释

    偏最小二乘法的几种解释文章目录基础准备最小二乘法的几何意义典型相关分析主成分分析第一种解释经过一段时间的学习 对偏最小二乘法有了一些了解 下面主要是针对 PLS1 也就是单响应变量的情况基础准备最小二乘法的几何意义 y X 1×1 nxn mathbf y X mathbf beta beta 1 mathbf x 1 dots beta n mathbf x n y X 1 x1 n xn 找到一个 XXX 的列的线性组合 使得这个线性组合最多的表达了 yyy 中的信息由上图可知

    2025年9月15日
    7
  • 简述struts2拦截器的作用_springmvc登录拦截器

    简述struts2拦截器的作用_springmvc登录拦截器转自:http://developer.51cto.com/art/200906/126894.htm对struts2的连接器的解释还是挺不错的,分享一下:一、理解Struts2拦截器1.Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现.2.拦截器栈(Int

    2022年10月6日
    2
  • LVS负载均衡(LVS简介、三种工作模式、十种调度算法)

    一、LVS简介    LVS(LinuxVirtualServer)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案,其体系结构如图1所示,终端互联网用户从外部访问公司的外部负载均衡服务器,终端用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该请求…

    2022年4月5日
    59
  • jdbc和数据库连接池_常用的数据库连接池

    jdbc和数据库连接池_常用的数据库连接池数据库连接池JDBC数据库连接池的必要性在使用开发基于数据库的web程序时,传统的模式基本是按照以下步骤:在主程序(如servlet beans)中建立数据库连接进行sql操作断开数据库连接这种模式开发,存在的问题:普通的JDBC数据库连接使用DriverManager来获取,每次向数据库建立连接的时候都要将Connection加载到内存中,再验证用户名和密码(大概花费0.05s-1s),需要数据库连接的时候,就向数据库要求一个,执行完成后再断开。这样的方式将会消耗大量的时间。数据库的

    2022年8月8日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号