错误使用 cornerPoints 输入 应为以下类型之一: double, single, uint8, uint16, uint32, uint64, int8, int16, int32, int64 但其类型为 logical。
时间: 2023-11-09 21:04:50 浏览: 55
这个错误通常是因为输入的变量类型不是函数所期望的类型。在这种情况下,函数期望的类型应该是数值类型之一,例如 double、single、uint8、uint16、uint32、uint64、int8、int16、int32 或 int64,但你的输入是逻辑类型。请检查你的输入变量是否为逻辑类型,并尝试将其转换为数值类型,例如使用函数 `double()` 将其转换为 double 类型。
相关问题
错误使用 ssim 第 1 个输入, A, 应为以下类型之一: uint8, uint16, int16, single, double, dlarray
这个错误提示表明你在使用 Matlab 中的 ssim 函数时,第一个输入参数 A 的数据类型不符合要求。ssim 函数要求第一个输入参数 A 是 uint8、uint16、int16、single、double 或者 dlarray 类型的数据。
解决这个问题,你需要检查你的输入参数 A 的数据类型是否符合上述要求,并且将其转换为符合要求的数据类型。如果你的输入数据是其他类型的数据,你可以使用 Matlab 中的其他函数先将其转换为上述要求的数据类型,然后再将其作为 ssim 函数的输入参数。
错误使用 imbinarize I 应为以下类型之一: uint8, uint16, uint32, int8, int16, int32, single, double 但其类型为 logical。
这个错误是因为 `imbinarize` 函数的输入图像必须是以下类型之一:`uint8`, `uint16`, `uint32`, `int8`, `int16`, `int32`, `single`, `double`。但是,您的输入图像是逻辑类型(`logical`),因此会出现此错误。
要解决此问题,您可以将逻辑类型的图像转换为 `uint8` 类型,然后再将其传递给 `imbinarize` 函数。可以使用 `uint8` 函数进行转换,如下所示:
```matlab
bw = imbinarize(uint8(gray));
```
这将逻辑类型的图像转换为 `uint8` 类型,并使 `imbinarize` 函数可以正确处理它。