0
点赞
收藏
分享

微信扫一扫

【图像增强】基于引力搜索算法实现灰度图像增强附matlab代码

1 简介

提出了基于引力搜索(GSA)的图像增强方法来解决图像增强搜寻过程中单一优化算法局部搜索能力不强的问题.

【图像增强】基于引力搜索算法实现灰度图像增强附matlab代码_图像增强

【图像增强】基于引力搜索算法实现灰度图像增强附matlab代码_搜索_02

【图像增强】基于引力搜索算法实现灰度图像增强附matlab代码_优化算法_03

【图像增强】基于引力搜索算法实现灰度图像增强附matlab代码_优化算法_04

2 部分代码


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


function [S]= similarity(x)



[xlen ylen] =size(x);


S=zeros(xlen, ylen);


for i=2:1:xlen-1

    for j=2:1:ylen-1


            %--------------------------------------------------------

        %Getting the values in the mask

        maskGray=zeros(1,9) ;

        resim=zeros(1,9) ; 

          for b=1:9;

          [m]=ikomsu(b,i);

          [n]=jkomsu(b,j);

          [res]=resimdemi(m,n,xlen,ylen);

          resim(b)=res;

                        if(resim(b)==1)

                            gray= x(m,n); 

                            maskGray (b) =gray;

                        else

                            maskGray (b) =0;

                        end

          end

  % Distance and similarity are calculated between 9 pixels in the mask and the result is determined.

       DN=150;

       sim=0;

       sum=0;

      for b=1:9

                   sim (b)=similarity1(maskGray(b),maskGray(9),DN);

                   sum=sim(b)+sum;    

      end

         %---------------------------------------------------------



          S(i,j)=sum/9;



    end

end 



end

%------------------------------------------------------------------------

%FUNCTIONS

%-----------------------------------------------------------------------

function [ res ] = resimdemi(x,y,w,h )


 if(x<1 || x>w-1 || y<1 || y>h-1)

    res=0;

 else

    res=1;



 end

end

 function [x] = ikomsu( komsuno, i)



 if(komsuno ==1)

     x=i-1;

 elseif(komsuno ==2)

    x= i;

 elseif(komsuno ==3)

    x= i+1;

 elseif(komsuno ==4)

    x= i-1;

 elseif(komsuno ==5)

    x= i+1;

 elseif(komsuno ==6)

   x= i-1;

 elseif(komsuno ==7)

   x= i;

 elseif(komsuno ==8)

   x= i+1;

 elseif(komsuno ==9)

    x=i;

 else

 x=0;

 end



 end


 function [y] = jkomsu( komsuno, j )


 if(komsuno ==1)

    y= j-1;

 elseif(komsuno ==2)

    y= j-1;

 elseif(komsuno ==3)

   y= j-1;

 elseif(komsuno ==4)

   y= j;

 elseif(komsuno ==5)

   y= j;

 elseif(komsuno ==6)

   y= j+1;

 elseif(komsuno ==7)

   y= j+1;

 elseif(komsuno ==8)

   y= j+1;

 elseif(komsuno ==9)

    y= j;

 else

   y=0;

 end



 end



function [sim] = similarity1( k, o, DN)



 a=0;b=0;c=0;

 a=abs(k-o);

%  b=(abs(l-p))^2;

%  c=(abs(m-r))^2;

%  //Distance calculation based on the Euclidean relation

 dist=a;


% %  //Calculation of similarity based on linear function

 arahes=dist/DN;

 sim=1 - arahes;

%  sim=exp(-dist/DN);



end




3 仿真结果

【图像增强】基于引力搜索算法实现灰度图像增强附matlab代码_图像增强_05

【图像增强】基于引力搜索算法实现灰度图像增强附matlab代码_优化算法_06

【图像增强】基于引力搜索算法实现灰度图像增强附matlab代码_优化算法_07

4 参考文献

[1]王平均. "基于MATLAB图像增强算法的应用." 辽宁高职学报 15.7(2013):4.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


【图像增强】基于引力搜索算法实现灰度图像增强附matlab代码_搜索_08


举报

相关推荐

0 条评论