MATLAB程序大全 - 图文 联系客服

发布时间 : 星期三 文章MATLAB程序大全 - 图文更新完毕开始阅读ee93ef4b03d276a20029bd64783e0912a3167c3b

☆★☆★☆

边缘区域:

角点区域(好像也不全角点,求角点还是harris好了):

结构张量行列式与迹的关系:

☆★☆★☆

其中红框为平坦区域,黄框为边缘区域,铝框为角点区域。 matlab代码如下:

clear all; close all; clc;

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

[Ix Iy]=gradient(img); Ix2=Ix.^2; Iy2=Iy.^2; Ixy=Ix.*Iy; k=1;

lambda=zeros(m*n,2); for i=1:m for j=1:n

st=[Ix2(i,j) Ixy(i,j);Ixy(i,j) Iy2(i,j)]; %结构张量 K=det(st); %求行列式 H=trace(st); %求迹 %所有的判断都是近似的

% if H<50 %认为是平坦区域 % if H>50 && abs(K)<0.01*10^(-9) %认为是边缘区域 if H>50 && abs(K)>0.01*10^(-9) %认为是角点区域 img(i,j)=255; end

lambda(k,:)=[K H];

☆★☆★☆

k=k+1; end end

figure;

plot(lambda(:,1),lambda(:,2),'.'); ylabel('trace');xlabel('det');

figure;

imshow(img,[])

6.模糊集图像增强

算法有很多变种。不过主要就是以下三步。

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));