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)
    

      

      

  • 相关阅读:
    C++基础学习1: C++布尔类型
    Hadoop-Yarn-框架原理及运作机制
    mapreduce shuffle 和sort 详解
    线程生命周期
    JVM 内存模型及垃圾回收
    利用Hive分析nginx日志
    mysql 30大优化策略
    hive 分组排序,topN
    Java核心卷笔记(一)
    Java 核心卷学习笔记(一)
  • 原文地址:https://www.cnblogs.com/molakejin/p/6378277.html
Copyright © 2011-2022 走看看