f栅格影像上控制点文件按行列号记录,基于matlab用该文件批量标记控制点,控制点标为十字,并输出在ENVI中可以看到的形式
时间: 2024-05-05 17:17:11 浏览: 106
以下是一种可能的实现方法:
1. 读取控制点文件,获取行列号信息:
```matlab
fid = fopen('control_points.txt'); % 打开控制点文件
data = textscan(fid, '%f%f%f%f', 'HeaderLines', 1); % 读取数据
fclose(fid); % 关闭文件
row = data{1}; % 获取行号
col = data{2}; % 获取列号
```
2. 在栅格影像上标记控制点:
```matlab
% 读取栅格影像
info = envihdrread('image.hdr'); % 读取HDR文件
img = multibandread('image', [info.lines, info.samples, info.bands], ...
info.data_type, 0, info.interleave, 'ieee-le'); % 读取数据
% 在栅格影像上标记控制点
for i = 1:length(row)
img(row(i), col(i), :) = 255; % 将控制点标记为白色
img(row(i), col(i), 1) = 0; % 将控制点标记为红色
img(row(i), col(i), 2) = 255; % 将控制点标记为绿色
img(row(i), col(i), 3) = 0; % 将控制点标记为蓝色
end
```
3. 输出标记后的栅格影像:
```matlab
% 输出标记后的栅格影像
enviwrite(img, 'image_marked', info); % 输出数据
```
输出的栅格影像可以在ENVI中查看。
阅读全文