算法有很多变种。不过主要就是以下三步。
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 endendimg=xmax-Fd.*(u.^(-1/Fe)-1); %模糊域变换回空间域figure;imshow(uint8(img));