0

读取图像时,polyfit 考虑的输入是不同的类型。一个是“uint8”,另一个是“double”(它们的大小相同,<1x384>)您能否给我一个提示,告诉我如何解决?

当我没有在 polyfit 中使用 TIMES 时,它的错误如下所示:

整数类不完全支持使用 * MTIMES 时出错。至少一个输入必须是标量。要按元素计算 TIMES,请改用 TIMES (.*)。

polyfit 中的错误 p = R(Q'*y); % 同 p = V\y;

如何将其转换为 unit8?(在其他情况下,它的结果不适合我的脚本)

4

1 回答 1

0

要将类型 double 转换为 uint8,您可以执行以下操作:

b = [1:10]; % <-- type double
a = uint8(b); % <-- convert to uint8

whos a 
  Name      Size                    Bytes  Class

  a         1x1                         1  uint8 array

Grand total is 1 element using 1 bytes

做相反的事情:

a = uint8([1:10]); % <-- convert to uint8
b = double(a); % <-- type double

whos b
  Name      Size                    Bytes  Class

  b         1x10                       80  double array

Grand total is 10 elements using 80 bytes

类型uint8变量是无符号整数 (>=0)。

某些操作不适用于它们,例如A\b.

在尝试对输入图像进行操作之前,将它们转换为 double,如下所示:

im_double = double(im_uint8);

im_uint8原图在哪里。

于 2013-08-01T11:46:28.430 回答