matlab遥感影像批量刺点
时间: 2023-09-01 20:11:07 浏览: 108
以下是MATLAB遥感影像批量刺点的一些示例代码:
1. 使用imtool进行手动刺点
```matlab
% 读取遥感影像
im = imread('image.tif');
% 打开imtool工具
imtool(im);
% 在imtool中手动刺点
% ...
% 获取刺点坐标
[x, y] = ginput();
% 将刺点坐标保存到文件中
save('points.mat', 'x', 'y');
```
2. 使用ginput函数进行手动刺点
```matlab
% 读取遥感影像
im = imread('image.tif');
% 打开imtool工具
imshow(im);
% 在图像中手动刺点
% ...
% 获取刺点坐标
[x, y] = ginput();
% 将刺点坐标保存到文件中
save('points.mat', 'x', 'y');
```
3. 使用detectSURFFeatures函数进行自动刺点
```matlab
% 读取遥感影像
im = imread('image.tif');
% 检测SURF特征点
points = detectSURFFeatures(im);
% 选择前N个特征点
N = 100;
points = points.selectStrongest(N);
% 获取特征点坐标
x = points.Location(:, 1);
y = points.Location(:, 2);
% 将特征点坐标保存到文件中
save('points.mat', 'x', 'y');
```
4. 批量处理多个遥感影像
```matlab
% 读取所有遥感影像文件名
imageFiles = dir('*.tif');
% 循环处理每个遥感影像
for i = 1:length(imageFiles)
% 读取遥感影像
im = imread(imageFiles(i).name);
% 检测SURF特征点
points = detectSURFFeatures(im);
% 选择前N个特征点
N = 100;
points = points.selectStrongest(N);
% 获取特征点坐标
x = points.Location(:, 1);
y = points.Location(:, 2);
% 将特征点坐标保存到文件中
save(strcat('points_', imageFiles(i).name, '.mat'), 'x', 'y');
end
```
阅读全文