1.结构张量原理

此处所说的张量不是相对论或黎曼几何里的张量,黎曼几何的张量好多论文都叫张量场了。也不是数学界还没研究明白的对矩阵进行扩展的高阶张量,主要是张量分解。这里的结构张量就是一个矩阵,一个对图像像素进行组织的数据结构而已。
像素组织而成的矩阵如下:
这个公式太常见了,在harris角点检测中就用到了。其中Ix,Iy就是原对原图像在x和y方向求得的偏导。然后求矩阵E的行列式K和迹H。然后根据K和H的关系就能区分图像的区域模式了。
模式分以下三类:
平坦区域:H=0;
边缘区域:H>0 && K=0;
角点区域:H>0 && K>0;
harris角点检测就用到了第三类判断。
当然,在实际应用的时候H和K的值肯定都不会是理想,所以我用的都是近似判断。
结构张量行列式与迹的关系
其中红框为平坦区域,黄框为边缘区域,绿框为角点区域。

2.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:mfor 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;endlambda(k,:)=[K H];k=k+1;end
endfigure;
plot(lambda(:,1),lambda(:,2),'.');
ylabel('trace');xlabel('det');figure;
imshow(img,[])

3.实验结果

原始图像
       
平坦区域                                          边缘区域                                    角点区域
    

结构张量用于区分平坦、边缘、角点区域相关推荐

  1. 图像区分平坦区域、边缘、角点区域

    图像区分平坦区域.边缘.角点区域: 像素组织而成的矩阵如下:,其中Ix和Iy为原图像在x和y方向求得的偏导,然后求矩阵E的行列式K和迹H,后根据K和H的关系就能区分图像的区域模式了. 平坦区域:H=0 ...

  2. matlab 结构张量,图像处理中的结构张量(structure tensor)

    结构张量(structure tensor) 主要用于区分图像的平坦区域.边缘区域与角点区域. 此处的张量就是一个关于图像的结构矩阵,矩阵结构构成如下: Rx,Ry分别为图像的水平与垂直梯度,而后进行 ...

  3. MATLAB与图像处理(一):图像中结构张量的求法(Structure Tensor)

    1.结构张量的作用:       能够区分图像中的平坦区域,边缘,角点: 2.图像中的结构张量的定义    1)是一个矩阵:    2)与图像的水平,垂直梯度有关,定义如下: 在MATLAB中,可以用 ...

  4. paper 134:结构张量structure tensor(二)

    根据结构张量能区分图像的平坦区域.边缘区域与角点区域. 此算法也算是计算机科学最重要的32个算法之一了.链接的文章中此算法名称为Strukturtensor算法,不过我搜索了一下,Strukturte ...

  5. 结构张量structure tensor(matlab)

    目录 一.结构张量是什么 二.如何用matlab实现 1.打开matlab软件,点击新建,出现编辑器界面 2.将以下代码复制到编辑器中(注意命名规则,不然容易出错,文件名有*代表还没有保存) 3.点击 ...

  6. 结构张量(structure tensor)

    在数学中,结构张量(也称为第二矩矩阵)是从函数的梯度导出的矩阵.它总结了一个点的指定邻域中梯度的主要方向,以及这些方向是连贯的程度.结构张量常用于图像处理和计算机视觉.----维基百科 结构张量能区分 ...

  7. 【无监督:结构张量:融合框架】

    Unsupervised Deep Image Fusion With Structure Tensor Representations (结构张量表示的无监督深度图像融合) 本文介绍了一种用于图像融 ...

  8. 结构张量 matlab 图像,图像的结构张量MATLAB代码

    根据结构张量能区分图像的平坦区域.边缘区域与角点区域. 此算法也算是计算机科学最重要的32个算法之一了.链接的文章中此算法名称为Strukturtensor算法,不过我搜索了一下,Strukturte ...

  9. OpenCV梯度结构张量的各向异性图像分割

    OpenCV梯度结构张量的各向异性图像分割 梯度结构张量的各向异性图像分割 目标 什么是梯度结构张量 源代码 解释 结果 梯度结构张量的各向异性图像分割 目标 在本教程中,您将学习: 什么是梯度结构张 ...

最新文章

  1. careercup-高等难度 18.5
  2. java-基础-java/c++
  3. linux下更换pip源
  4. 电脑技巧:这样检查电脑后终于知道为什么越用越卡
  5. python系列教程_python基础学习系列教程2-进阶之路中绕不开的知识点。
  6. 佳博GP2120TU标签打印机 安装和使用教程(PC)
  7. Python采集 11月最新 世界疫情数据 + 可视化动态地图,实时查询超稳定
  8. 洛谷P5713 【深基3.例5】洛谷团队系统经典解法
  9. 《Proof of Federated Learning: A Novel Energy-recycling Consensus Algorithm》精读
  10. 简单的Android XML布局使用
  11. JAVA学习数据库2
  12. linux原生桌面,亲手打造自己的Linux桌面环境
  13. 新茶饮式资本扩张,该停脚歇歇了
  14. Mysql给一个大表加一列_MySQL 大表添加一列的实现
  15. Windows10计算机无法启动,Win10电脑无法开机提示Windows boot manager
  16. Docker入门实战(三)-Docker容器镜像
  17. postgresql将字段为空的值替换为指定值
  18. Java:apache.poi读写Excel文件
  19. 华为od统一考试B卷【快速人名查找】Python 实现
  20. h5页面自定义字体_UIWebView使用app内自定义字体

热门文章

  1. 网站502与504错误分析
  2. 如何快速搭建开放、多租户的电商云平台
  3. 各种软路由 - 自制路由器
  4. Installshield 2010 中集成. Net framework4 与 vc++ 2010运行安装包
  5. 网络性能测试工具Iperf上手指南
  6. Windows下rsync软件配置和使用【数据同步】
  7. hdu 3874(树状数组+离线算法)
  8. js笔记(10)之无缝滚动
  9. C++ Vector的使用
  10. NYOJ 631 冬季长跑