在阅读图像时,考虑用于polyfit的输入是不同的类型。一个是“uint8”而另一个是“double”(它们的大小相同,< 1x384>) 能否请你给我一个如何解决它的提示?
我的错误显示如下,而我没有在polyfit中使用TIMES:
使用*时出错 整数类不完全支持MTIMES。至少一个输入必须是标量。 要计算元素TIMES,请改用TIMES(。*)。
polyfit错误 p = R(Q'* y); %与p = V \ y相同;
如何将其转换为unit8? (在其他情况下,其结果不适合我的脚本)
答案 0 :(得分: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
变量是无符号整数(&gt; = 0)。
某些操作无法使用它们,例如A\b
。
在尝试使用输入图像进行操作之前,请将它们转换为double,如下所示:
im_double = double(im_uint8);
其中im_uint8
是原始图片。