上面代码出现错误使用 - 整数只能与同类的整数或双精度标量值组合使用。 出错 Untitled6 (line 8) reflectance = (drone_image - black) / (white - black); % 计算反射率系数,怎么解决
时间: 2024-05-14 10:18:01 浏览: 90
这个错误提示意味着你在使用单精度浮点数(如 uint8 类型的图像)时,需要将某些计算转换为双精度浮点数。你可以使用 `double()` 函数将图像转换为双精度浮点数,然后再进行计算,避免出现类型不匹配的错误。
下面是修改后的代码,你可以尝试一下:
```matlab
% 读取无人机图像
drone_image = imread('drone_image.jpg');
% 将图像转换为双精度浮点数
drone_image = double(drone_image);
% 读取黑白参考块图像
black = imread('black_reference.jpg');
white = imread('white_reference.jpg');
% 将参考块图像转换为双精度浮点数
black = double(black);
white = double(white);
% 计算反射率系数
reflectance = (drone_image - black) ./ (white - black);
```
阅读全文