tif栅格影像上控制点文件按行列号记录,基于matlab用该文件批量标记控制点,控制点标为十字,并输出在ENVI中可以看到的形式
时间: 2024-05-12 08:19:57 浏览: 159
以下是基于MATLAB的代码:
```matlab
% 读取控制点文件
fileID = fopen('control_points.txt');
data = textscan(fileID, '%d %d %f %f', 'Headerlines', 1);
fclose(fileID);
% 获取行列数和分辨率
ncols = max(data{1});
nrows = max(data{2});
xres = data{3}(1) - data{3}(2); % 栅格分辨率
yres = data{4}(nrows+1) - data{4}(1); % 栅格分辨率
% 创建空白图像
img = zeros(nrows, ncols);
% 在控制点位置添加十字标记
for i = 1:length(data{1})
col = data{1}(i);
row = data{2}(i);
img(row, col) = 255;
img(row-2:row+2, col) = 255;
img(row, col-2:col+2) = 255;
end
% 保存为ENVI格式
enviwrite(img, 'control_points.img', 'bsq', 'precision', 2, 'wavelength', 1, 'interleave', 'bsq', 'x', data{3}(1), 'y', data{4}(1), 'dx', xres, 'dy', yres);
```
以上代码将控制点文件中的行列号和地理坐标读入,并在空白图像上添加十字标记。最后将图像保存为ENVI格式。
阅读全文