大家好,又见面了,我是你们的朋友全栈君。
最近写matlab又遇到一个坑,感觉是匪夷所思的bug,简直刷新我的人生观、世界观和价值观【手动笑哭】 想解决的问题很简单,我就是想求一张图片中所有像素点的R、G、B三个颜色分量的平均值,然后我发现,每个颜色分量的和永远是255,这怎么可能啊,和肯定会很大啊,各种调试,调到我质疑人生。 后来在Workspace中看了几眼,看到图片存储是以unit8数值类型存储的,成功引起了我的注意,以前真是没注意过图片是以哪种数值类型存储的。 在此介绍下matlab数值类型,分为整数和浮点数。整数分为有符号和无符号的:int8(带符号8位整型),int16,int32,int64,uint8(无符号8位整型),uint16,uint32,uint64。浮点数分为单精度(single,32位)和双精度(double,64位)。 因为图片以unit8存储,所以所能存储的数值的最大范围是255,所以加到255以后就不会再增加了,加个强制类型转换,a=double(b)就可以解决这个问题。 发现因为基础问题的坑简直坑的不行,算是为以后学别的东西铺个路吧,基础一定要打好。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/192592.html原文链接:https://javaforall.cn