zoukankan      html  css  js  c++  java
  • 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)
    

      

      

  • 相关阅读:
    code of C/C++(2)
    code of C/C++ (1)
    dll 的编写和使用
    Python基础练习-数据类型与变量part2
    Python基础练习-数据类型与变量
    python基础练习-循环
    Linux grep
    nginx反向代理
    正则表达式
    Linux samba ing
  • 原文地址:https://www.cnblogs.com/molakejin/p/6378277.html
Copyright © 2011-2022 走看看