在tif上用matlab自动批量标记已有像素坐标的控制点,结果用envi的椭圆注记存储,并输出结果
时间: 2024-04-30 08:23:14 浏览: 66
首先,需要将已有像素坐标的控制点提取出来,可以使用matlab中的imread函数读取tif图像,然后使用imtool函数标记控制点,并将标记结果保存为mat文件。
接下来,可以使用matlab中的load函数读取保存的mat文件,将控制点坐标导入matlab中。然后,可以使用envi的matlab工具箱中的ellipsoids函数绘制椭圆注记,并将结果保存为envi格式。
具体操作流程如下:
1. 读取tif图像
```matlab
im = imread('test.tif');
```
2. 使用imtool标记控制点,并将结果保存为mat文件
```matlab
imtool(im);
% 标记控制点,将结果保存为控制点.mat文件
```
3. 加载控制点坐标
```matlab
load('控制点.mat');
```
4. 使用envi工具箱中的ellipsoids函数绘制椭圆注记
```matlab
% 定义注记文件名
anno_file = '控制点.ann';
% 定义注记颜色
color = [0, 255, 0];
% 定义注记类型
type = 'ellipse';
% 定义注记大小
size = [10, 10];
% 循环绘制每个控制点的注记
for i = 1:size(control_points, 1)
% 获取控制点坐标
x = control_points(i, 1);
y = control_points(i, 2);
% 绘制注记
ellipsoids(anno_file, x, y, color, type, size);
end
```
5. 保存注记文件
```matlab
% 保存注记文件
enviWriteANFile(anno_file, 'test.hdr');
```
6. 输出结果
绘制完成后,可以在envi中打开tif图像和对应的注记文件,查看标记结果。
阅读全文