算法實現Alg15-Multiscale patch-based contrast measure for small infrared target detection

期刊:Pattern Recognition  

Impact factor:3.399

引用:Wei Y, You X, Li H. Multiscale patch-based contrast measure for small infrared target detection[J]. Pattern Recognition, 2016, 58(C):216-226.

實現:

clear all;
close all;
clc;

img=imread('E:\A 研究生學習\我的論文~\image\6.jpg');
n=size(size(img));
if n(1,2)==2;
    im_gray=img;
else im_gray=rgb2gray(img);
end
imtool(im_gray);
%N=3
f1=im_gray;
f33=ordfilt2(f1,5,ones(3));
% figure;
% imshow(f);
% imtool(f);
F=zeros(9);
F(5,5)=1;

F1=F;
F1(2,2)=-1;
F2=F;
F2(2,5)=-1;
F3=F;
F3(2,8)=-1;
F4=F;
F4(5,8)=-1;
F5=F;
F5(8,8)=-1;
F6=F;
F6(8,5)=-1;
F7=F;
F7(8,2)=-1;
F8=F;
F8(5,2)=-1;

%N=5

f55=ordfilt2(f1,13,ones(5));
EF=zeros(15);
EF(8,8)=1;

EF1=EF;
EF1(3,3)=-1;
EF2=EF;
EF2(3,8)=-1;
EF3=EF;
EF3(3,13)=-1;
EF4=EF;
EF4(8,13)=-1;
EF5=EF;
EF5(13,13)=-1;
EF6=EF;
EF6(13,8)=-1;
EF7=EF;
EF7(13,3)=-1;
EF8=EF;
EF8(8,3)=-1;

%N=7
f77=ordfilt2(f1,25,ones(7));
TF=zeros(21);
TF(11,11)=1;

TF1=TF;
TF1(4,4)=-1;
TF2=TF;
TF2(4,11)=-1;
TF3=TF;
TF3(4,18)=-1;
TF4=TF;
TF4(11,18)=-1;
TF5=TF;
TF5(18,18)=-1;
TF6=TF;
TF6(18,11)=-1;
TF7=TF;
TF7(18,4)=-1;
TF8=TF;
TF8(11,4)=-1;

d1=imfilter(f33,F1).*imfilter(f33,F5);
d2=imfilter(f33,F2).*imfilter(f33,F6);
d3=imfilter(f33,F3).*imfilter(f33,F7);
d4=imfilter(f33,F4).*imfilter(f33,F8);
c1=min(min(d1,d2),min(d3,d4));

d11=imfilter(f55,EF1).*imfilter(f55,EF5);
d21=imfilter(f55,EF2).*imfilter(f55,EF6);
d31=imfilter(f55,EF3).*imfilter(f55,EF7);
d41=imfilter(f55,EF4).*imfilter(f55,EF8);
c2=min(min(d11,d21),min(d31,d41));

d12=imfilter(f77,TF1).*imfilter(f77,TF5);
d22=imfilter(f77,TF2).*imfilter(f77,TF6);
d32=imfilter(f77,TF3).*imfilter(f77,TF7);
d42=imfilter(f77,TF4).*imfilter(f77,TF8);
c3=min(min(d12,d22),min(d32,d42));

c=max(c1,max(c2,c3));
% c=min(c1,min(c2,c3));
figure;
imshow(c);
%imtool(c);


figure; %final
img_1=imresize(c,1); %圖像放縮
[m3,n3]=size(img_1);
[x,y]=meshgrid(1:1:n3,1:1:m3);
for i=1:m3
    for j=1:n3
        R(i,j)=img_1(i,j);
    end
end
mesh(double(x),double(y),double(R));
xlabel('x');
ylabel('y');
  


結果:

原圖

結果:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章