找了很久代码没有按顺序的,我是用一张基准图做基准,其他子文件的小图做地标点进行NCC互相关性计算,希望可以帮到你们。
clear all;
close all;
clc
Files1 = dir('F:\F\研究生开题\样本点\NCC基准-地标\3类\*');
fliels_path = ['F:\F\研究生开题\样本点\NCC基准-地标\3类\'];
FSize = size(Files1, 1);
for recent=1:ceil(FSize) %逐次取出文件
recent_temp=num2str(recent);
% imgDataPath = 'F:\F\研究生开题\样本点\NCC基准-地标\2类\1\';
imgDataPath=[fliels_path,recent_temp,'\'];
imgDataDir = dir(imgDataPath); % 遍历所有文件
for i = 1:length(imgDataDir)
if(isequal(imgDataDir(i).name,'.')||... % 去除系统自带的两个隐文件夹
isequal(imgDataDir(i).name,'..')||...
~imgDataDir(i).isdir) % 去除遍历中不是文件夹的
continue;
end
imgDir = dir([imgDataPath imgDataDir(i).name '\*.png']);
for j =1:length(imgDir) % 遍历所有图片
lad = imread([imgDataPath imgDataDir(i).name '\' imgDir(j).name]);
% figure,imshow(lad);
[Size1,Size2,Size3]=size(lad);
filename=[fliels_path,recent_temp,'\',recent_temp,'.png'];
% I = imread(filename);
ref=imread(filename);
% figure,imshow(ref);
% ref=imread('F:\F\研究生开题\样本点\NCC基准-地标\2类\1\1.png');%基准图
result = ImageCorrInfo(lad,ref,Size1,Size2);
Result(j,:) =result;
end
RESULT{recent,:}=Result;
Result=[];
end
end
R=[];
for i=1:size(RESULT,1)
R=[R;RESULT{i}];
end
save 3类互相关 R
% result=textread('2类互相关.txt')