算法实现Alg17《Infrared Small-Target Detection Using Multiscale Gray Difference Weighted Image Entropy 》

来源:互联网 发布:淘宝店铺被关闭直通车 编辑:程序博客网 时间:2024/06/05 15:40


发表期刊:IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 52, NO. 1 FEBRUARY 2016  

Impact factor:1.975 Not SCI


文章引用:Deng H, Sun X, Liu M, et al. Infrared small-target detection using multiscale gray difference weighted image entropy[J]. IEEE Transactions on Aerospace & Electronic Systems, 2016, 52(1):60-72.


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);endimtool(im_gray);[M,N]=size(im_gray);f=im_gray;Lmax=9;kmax=(Lmax+1)/2;%% 自己写的程序计算D(x,y) 不对 不知道为啥啊% for k=1:kmax-1%   for i=kmax:M-kmax     %     for j=kmax:N-*kmax%          OMGkmax=f(i-kmax+1:i+kmax-1,j-kmax+1:j+kmax-1);%          OMGk=f(i-k+1:i+k-1,j-k+1:j+k-1);%          D(i,j,k)=(mean(mean(OMGk))-mean(mean(OMGkmax))).^2;   %     end%   end%  Df=zeros( size(D(:,:,1),1),size(D(:,:,1),2));%  Df=max(D(:,:,1),D(:,:,k));% end%% 利用matlab自带程序计算D(x,y)N=Lmax;for k=1:kmax-1;  %k为半径   k1=2*k+1;   Nmax=ordfilt2(f,(N*N+1)/2,ones(N));    Nk=ordfilt2(f,(k1*k1+1)/2,ones(k1));   D(:,:,k)=(Nmax-Nk).^2;   Df=zeros(size(D(:,:,1),1),size(D(:,:,1),2));   Df=max(D(:,:,1),D(:,:,k));endfigure;imshow(Df);title('Multiscale gray difference');%% 自带程序计算熵E=entropyfilt(im_gray);  %系统的局部熵函数%% 写的程序计算熵% [m n]=size(im_gray);% w=3;    %模板半径% imgn=zeros(m,n);% for i=1+w:m-w%     for j=1+w:n-w%         %         Hist=zeros(1,256);%         for p=i-w:i+w%             for q=j-w:j+w%                 Hist(img(p,q)+1)=Hist(img(p,q)+1)+1;    %统计局部直方图%             end%         end%         Hist=Hist/sum(Hist);%         for k=1:256%             if Hist(k)~=0%                imgn(i,j)=imgn(i,j)+Hist(k)*log(1/Hist(k));  %局部熵%             end%         end%     end% end% E=imgn;%% 最终final= E.* double(Df);figure;imshow(final,[]);title('NWIE')%% 三维灰度图figure; %finalimg_1=imresize(Df,1); %图像放缩[m,n]=size(img_1);[x,y]=meshgrid(1:1:n,1:1:m);for i=1:m    for j=1:n        H(i,j)=img_1(i,j);    endendmesh(double(x),double(y),double(H));set(gca,'XLim',[0,320],'YLim',[0,240]);xlabel('x');ylabel('y');title(' 3D--Multiscale gray difference ');% figure; %finalimg_2=imresize(E,1); %图像放缩[m,n]=size(img_2);[x,y]=meshgrid(1:1:n,1:1:m);for i=1:m    for j=1:n        G(i,j)=img_2(i,j);    endendmesh(double(x),double(y),double(G));set(gca,'XLim',[0,320],'YLim',[0,240]);xlabel('x');ylabel('y');title('3D--local entropy');figure; %finalimg_3=imresize(final,1); %图像放缩[m,n]=size(img_3);[x,y]=meshgrid(1:1:n,1:1:m);for i=1:m    for j=1:n        G(i,j)=img_3(i,j);    endendmesh(double(x),double(y),double(G));set(gca,'XLim',[0,320],'YLim',[0,240]);xlabel('x');ylabel('y');title(' final NWIE');

实验结果:原图:


原文配图:


阅读全文
0 0
原创粉丝点击