matlab練習程式(模糊集影象增強)

Dsp Tian發表於2013-07-15

演算法有很多變種。不過主要就是以下三步。

1.設計隸屬度函式將影象從空間域變換到模糊集域。

2.設計模糊增強運算元,在模糊集域對影象進行處理。

3.根據第1步的隸屬度函式重新將影象從模糊集域變換到空間域。

這和頻域處理中的變換反變換不是很像麼。

我使用的隸屬度函式和模糊增強運算元在這篇論文裡,也算相關演算法的經典論文了。

處理結果如下:

原圖:

模糊集增強後:

matlab程式碼如下:

clear all; close all; clc;

img=double(imread('lena.jpg'));
imshow(img,[])
[m n]=size(img);

Fe=1;  %控制引數
Fd=128;

xmax=max(max(img));
u=(1+(xmax-img)/Fd).^(-Fe);     %空間域變換到模糊域

%也可以多次迭代
for i=1:m                       %模糊域增強運算元
   for j=1:n
      if u(i,j)<0.5
        u(i,j)=2*u(i,j)^2; 
      else
        u(i,j)=1-2*(1-u(i,j))^2;
      end
   end
end

img=xmax-Fd.*(u.^(-1/Fe)-1);    %模糊域變換回空間域

figure;
imshow(uint8(img));

 

相關文章