matlab使用For循环,在高光谱数据的每一个波段图像画一条宽度为10个像素的黑竖线
时间: 2023-12-10 08:38:30 浏览: 64
巧用for循环绘制各种图形
假设你的高光谱数据为一个三维矩阵`data`,其中第三维表示波段数。你可以使用以下代码在每个波段图像上画出一条宽度为10个像素的黑竖线:
```matlab
for i = 1:size(data, 3)
% 获取当前波段图像
img = data(:,:,i);
% 在第10列画一条竖线
img(:, 10:19) = 0;
% 显示图像
imshow(img)
end
```
其中,`size(data, 3)`获取`data`的第三维大小(即波段数),`data(:,:,i)`获取第`i`个波段的图像,`img(:, 10:19) = 0`在第10列到19列之间将像素值设为0,即画出一条宽度为10个像素的黑竖线。最后使用`imshow`函数显示图像。
阅读全文