paper 133:结构张量Structure Tensor(一)

1.结构张量的作用:
      能够区分图像中的平坦区域,边缘,角点;
2.图像中的结构张量的定义
   1)是一个矩阵;
   2)与图像的水平,垂直梯度有关,定义如下:
在MATLAB中,可以用如下语句求解:[Ix,Iy]=gradient(Image);
 
3)求出结构张量矩阵的行列式,和迹(矩阵对角线之和)
 行列式:K=det(E);
    迹:   H=trace(E);

 
以下代码来源于网络,注释除外
clear all;
close all;
clc;
I=imread('lena.jpg');
img=double(I);
[m,n]=size(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
            I(i,j)=255;
        end
        if H>50 &&abs(K)<0.01*10^(-9)
            I(i,j)=100;
        end
        
         if H>50 &&abs(K)>0.01*10^(-9)
            I(i,j)=50;
         end
        lambda(k,:)=[K H];
        k=k+1;
    end
end
figure;
plot(lambda(:,1),lambda(:,2),'.');
ylabel('trace');
xlabel('det');
figure;
imshow(I)

  

 

  

转载于:https://www.cnblogs.com/molakejin/p/6378277.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值