【发布时间】:2013-09-30 15:06:54
【问题描述】:
早上好,
我有一个关于如何将卫星图像转换为二进制数的问题。每个波段的格式是一个 double 类型的矩阵(长度为 655x639),数字如下:204080、200 等。我想将其转换为二进制格式。所以,例如:
20480 = 101000000000000 200 = 11001000
我尝试使用“dec2bin”命令,但它创建了一个长度不同的矩阵(418545x8 字符),我认为它不能正常工作(我想要相同的大小)。此外,我尝试将格式更改为 uint16 或 uint8 等。我该怎么做?
你好,
【问题讨论】:
-
使用 dec2dbin 可以得到输入的正确二进制表示。不确定我是否理解
different length问题...您可以将dec2bin与指定要返回的位数的第二个参数一起使用,例如dec2bin(200,16) = 0000000011001000,如果您希望返回至少 16 位。 -
如果您告诉我们您想对二进制数做什么可能会有所帮助 - 很少需要将数字显式转换为二进制表示。
-
嗨塞巴斯蒂安!非常感谢您的快速回复。我需要转换这些值,因为我需要从二进制值中了解两个值的信息(它是云遮罩带,信息是二进制代码)。使用您的代码(200,16)它可以正常工作,但我怀疑是因为我想(我不知道是否可能)与所有二进制数获得相同的矩阵长度(655x639),只是为了检查它。例如,当我应用您的代码时,我得到一个 418545x16 字符,而不是 655x639(我无法观看,因为它太大了)。我希望我解释得更好!