图像处理与特征值

2012-10-15 20:41:37 jia20003 阅读数 103366
  • 图像特征提取运动估计

    认真学习本门课程后,学员可以掌握计算机视觉技术的基本原理和应用方式。可在实际项目、创新项目、创业实践中应用,同时可供感兴趣同学作为以后深入学习计算机视觉知识的基础。公开课试听:...

    303人学习 AI100讲师
    免费试看

图像处理之常见二值化方法汇总

图像二值化是图像分析与处理中最常见最重要的处理手段,二值处理方法也非常多。越

精准的方法计算量也越大。本文主要介绍四种常见的二值处理方法,通常情况下可以满

足大多数图像处理的需要。主要本文讨论的方法仅针对RGB色彩空间。

 

方法一:

该方法非常简单,对RGB彩色图像灰度化以后,扫描图像的每个像素值,值小于127的

像素值设为0(黑色),值大于等于127的像素值设为255(白色)。该方法的好处是计算

量少速度快。缺点更多首先阈值为127没有任何理由可以解释,其次完全不考虑图像的

像素分布情况与像素值特征。可以说该方法是史最弱智的二值处理方法一点也不为过。

 

方法二:

最常见的二值处理方法是计算像素的平均值K,扫描图像的每个像素值如像素值大于K

像素值设为255(白色),值小于等于K像素值设为0(黑色)。该方法相比方法一,阈值的

选取稍微有点智商,可以解释。但是使用平均值作为二值化阈值同样有个致命的缺点,

可能导致部分对象像素或者背景像素丢失。二值化结果不能真实反映源图像信息。

 

方法三:

使用直方图方法来寻找二值化阈值,直方图是图像的重要特质,直方图方法选择二值

化阈值主要是发现图像的两个最高的峰,然后在阈值取值在两个峰之间的峰谷最低处。

该方法相对前面两种方法而言稍微精准一点点。结果也更让人可以接受。

 

方法四:http://en.wikipedia.org/wiki/Thresholding_(image_processing)

使用近似一维Means方法寻找二值化阈值,该方法的大致步骤如下:

1.      一个初始化阈值T,可以自己设置或者根据随机方法生成。

2.      根据阈值图每个像素数据P(n,m)分为对象像素数据G1与背景像素数据G2。(n为

行,m为列)

3.      G1的平均值是m1, G2的平均值是m2

4.      一个新的阈值T’ = (m1 + m2)/2

5.      回到第二步,用新的阈值继续分像素数据为对象与北京像素数据,继续2~4步,

直到计算出来的新阈值等于上一次阈值。

前面三种在以前的博文中都有涉及,最后一种二值化方法的代码如下:

package com.gloomyfish.filter.study;

import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.List;

public class ThresholdBinaryFilter extends GrayFilter {

	@Override
	public BufferedImage filter(BufferedImage src, BufferedImage dest) {
		int width = src.getWidth();
        int height = src.getHeight();

        if ( dest == null )
        	dest = createCompatibleDestImage( src, null );

        int[] inPixels = new int[width*height];
        int[] outPixels = new int[width*height];
        src = super.filter(src, null); // we need to create new one
        getRGB( src, 0, 0, width, height, inPixels );
        int index = 0;
        int means = getThreshold(inPixels, height, width);
        for(int row=0; row<height; row++) {
        	int ta = 0, tr = 0, tg = 0, tb = 0;
        	for(int col=0; col<width; col++) {
        		index = row * width + col;
        		ta = (inPixels[index] >> 24) & 0xff;
                tr = (inPixels[index] >> 16) & 0xff;
                tg = (inPixels[index] >> 8) & 0xff;
                tb = inPixels[index] & 0xff;
                if(tr > means) {
                	tr = tg = tb = 255; //white
                } else {
                	tr = tg = tb = 0; // black
                }
                outPixels[index] = (ta << 24) | (tr << 16) | (tg << 8) | tb;
        	}
        }
        setRGB( dest, 0, 0, width, height, outPixels );
        return dest;
	}

	private int getThreshold(int[] inPixels, int height, int width) {
		// maybe this value can reduce the calculation consume; 
		int inithreshold = 127;
		int finalthreshold = 0;
		int temp[] = new int[inPixels.length];
		for(int index=0; index<inPixels.length; index++) {
			temp[index] = (inPixels[index] >> 16) & 0xff;
		}
		List<Integer> sub1 = new ArrayList<Integer>();
		List<Integer> sub2 = new ArrayList<Integer>();
		int means1 = 0, means2 = 0;
		while(finalthreshold != inithreshold) {
			finalthreshold = inithreshold;
			for(int i=0; i<temp.length; i++) {
				if(temp[i] <= inithreshold) {
					sub1.add(temp[i]);
				} else {
					sub2.add(temp[i]);
				}
			}
			means1 = getMeans(sub1);
			means2 = getMeans(sub2);
			sub1.clear();
			sub2.clear();
			inithreshold = (means1 + means2) / 2;
		}
		long start = System.currentTimeMillis();
		System.out.println("Final threshold  = " + finalthreshold);
		long endTime = System.currentTimeMillis() - start;
		System.out.println("Time consumes : " + endTime);
		return finalthreshold;
	}

	private static int getMeans(List<Integer> data) {
		int result = 0;
		int size = data.size();
		for(Integer i : data) {
			result += i;
		}
		return (result/size);
	}

}

效果如下:


学习视频教程 - 《数字图像处理-二值图像分析》

2016-08-15 15:23:15 code_hrbeu 阅读数 2701
  • 图像特征提取运动估计

    认真学习本门课程后,学员可以掌握计算机视觉技术的基本原理和应用方式。可在实际项目、创新项目、创业实践中应用,同时可供感兴趣同学作为以后深入学习计算机视觉知识的基础。公开课试听:...

    303人学习 AI100讲师
    免费试看

转自http://www.cnblogs.com/isabelincoln/archive/2009/06/18/1504623.html


特征向量与特征值

在看线性代数这一部分的时候,真是一头雾水。虽然明白了特征值和特征向量的求法,但总觉得没有用。在《理解矩阵》一文中,虽然提到了这与矩阵的本质有关,但并未详细提及,但我知道了一定具有一定的几何意义。

后来,查看了《特征向量的几何意义》一文,才明白了。特别是wikipedia中关于《特征向量》的文章,终于对特征向量有了一点认识。

      

因为l是常数,所以lx与x的方向相同。即,一个变换的特征向量是这样一种向量,它经过这种特定的变换后保持方向不变,只是进行长度上的伸缩而已。

下图是从wikipedia的《特征向量》一文中引用的。通过这个图可以对变与不变有一个进一步的了解。

图1. 在这个错切变换中,蒙娜丽莎的图像被变形,但是中心的纵轴在变换下保持不变。(注意:角落在右边的图像中被裁掉了。)蓝色的向量,从胸部到肩膀,其方向改变了,但是红色的向量,从胸部到下巴,其方向不变。因此红色向量是该变换的一个特征向量,而蓝色的不是。因为红色向量既没有被拉伸又没有被压缩,其特征值为1。所有沿着垂直线的向量也都是特征向量,它们的特征值相等。它们构成这个特征值的特征空间
 
在wikipedia的《特征向量》一文中还提到了一个地球旋转的例子,旋转本身是一种线性变化,出来在旋转轴上的向量之外,所有从地心指向地表的向量的方向都变了。在旋转轴上的向量的向量就是这个线性变化的特征向量。
 
说到这我想很多人应该明白了,矩阵是一种线性变化,特征向量就是在这个变化当中不变的向量。说白了就是在变化当中寻找不变的东西。这不就是很多学科研究的内容吗?
 
关于这个主题的更多内容可以参考《漫谈高数(四) 特征向量物理意义》一文,该文对这个主题做了一个深入浅出的解释,是一篇比较好的文章。
2017-10-24 11:56:42 chunmi6974 阅读数 4030
  • 图像特征提取运动估计

    认真学习本门课程后,学员可以掌握计算机视觉技术的基本原理和应用方式。可在实际项目、创新项目、创业实践中应用,同时可供感兴趣同学作为以后深入学习计算机视觉知识的基础。公开课试听:...

    303人学习 AI100讲师
    免费试看

原文:http://wenku.baidu.com/view/b29d9148852458fb770b564a.html#

摘要:正所谓学以致用,在长期以来的学习过程中,我们真正能够将所学到的知识运用到生活中的能有多少,我们对课本上那些枯燥的公式虽牢记于心,却不知道它的实际用途。在学习了矩阵论以来,虽然知道很多问题的求法,就如矩阵特征值和特征向量,它们有何意义我们却一点不知。我想纯粹的理知识已经吸引不了我们了,我们需要去知道它们的用途,下面就让我们一起来看看矩阵特征值与特征向量在图像处理中是如何发挥它们的作用的。

关键字:

特征值、特征向量、 图像、
正文:
生活中的我们,每天清晨醒来,随之映入眼帘的就是各种形形色色的图像,我们确实也很难想象,在我们的生活中,图像的处理和矩阵特征值、特征向量有什么关系?首相我们先来了解下,何为特征值、特征向量。

定义: 设 是 阶方阵,若有数 和非零向量 ,使得

称数 是 的特征值,非零向量 是 对应于特征值 的特征向量。

例如 对 ,有 及向量 ,使得 ,这说明 是 的特征值, 是 对应于 的特征向量。

特征值和特征向量的求法:

1. 由 得 ,并且由于 是非零向量,故行列式 ,即

(称之为 的特征方程)

由此可解出 个根 (在复数范围内),这就是 的所有特征值。

2. 根据某个特征值 ,由线性方程组 解出非零解 ,这就是 对应于特征值 的特征向量。

特征值和特征向量的性质:

1 . ,

2 .若 是 的特征向量,则对 , 也是 的特征向量。

3 .若 是 的特征值,则 是 的特征值,从而 是 的特征值。

4 . 是 的 个特征值, 为依次对应的特征向量,若 各不相同,则 线性无关。 
    我想在了解了特征值和特征向量的基本理论之后,你们很难想象,为什么这些知识会和图像有联系吧。说实话,我自己也不是很清楚,我也是看了别人的理论讲解,才略微理解了一二。让我们一起去了解下。
    根据特征向量数学公式定义,矩阵乘以一个向量的结果仍是同维数的一个向量,因此,矩阵乘法对应了一个变换,把一个向量变成同维数的另一个向量,那么变换的效果是什么呢?这当然与方阵的构造有密切关系,比如可以取适当的二维方阵,使得这个变换的效果就是将平面上的二维向量逆时针旋转30度,这时我们可以问一个问题,有没有向量在这个变换下不改变方向呢?可以想一下,除了零向量,没有其他向量可以在平面上旋转30度而不改变方向的,所以这个变换对应的矩阵(或者说这个变换自身)没有特征向量(注意:特征向量不能是零向量),所以一个特定的变换特征向量是这样一种向量,它经过这种特定的变换后保持方向不变,只是进行长度上的伸缩而已(再想想特征向量的原始定义Ax=cx, cx是方阵A对向量x进行变换后的结果,但显然cx和x的方向相同)。
    这里给出一个特征向量的简单例子,比如平面上的一个变换,把一个向量关于横轴做镜像对称变换,即保持一个向量的横坐标不变,但纵坐标取相反数,把这个变换表示为矩阵就是[1 0;0 -1](分号表示换行),显然[1 0;0 -1]*[a b]'=[a -b]'(上标'表示取转置),这正是我们想要的效果,那么现在可以猜一下了,这个矩阵的特征向量是什么?想想什么向量在这个变换下保持方向不变,显然,横轴上的向量在这个变换下保持方向不变(记住这个变换是镜像对称变换,那镜子表面上(横轴上)的向量当然不会变化),所以可以直接猜测其特征向量是[a 0]'(a不为0),还有其他的吗?有,那就是纵轴上的向量,这时经过变换后,其方向反向,但仍在同一条轴上,所以也被认为是方向没有变化,所以[0 b]'(b不为0)也是其特征向量。
    综上所述,特征值只不过反映了特征向量在变换时的伸缩倍数而已,对一个变换而言,特征向量指明的方向才是很重要的,特征值似乎不是那么重要;但是,当我们引用了Spectral theorem(谱定律)的时候,情况就不一样了。
    Spectral theorem的核心内容如下:一个线性变换(用矩阵乘法表示)可表示为它的所有的特征向量的一个线性组合,其中的线性系数就是每一个向量对应的特征值,写成公式就是:
   我们知道,一个变换可由一个矩阵乘法表示,那么一个空间坐标系也可视作一个矩阵,而这个坐标系就可由这个矩阵的所有特征向量表示,用图来表示的话,可以想象就是一个空间张开的各个坐标角度,这一组向量可以完全表示一个矩阵表示的空间的“特征”,而他们的特征值就表示了各个角度上的能量(可以想象成从各个角度上伸出的长短,越长的轴就越可以代表这个空间,它的“特征”就越强,或者说显性,而短轴自然就成了隐性特征),因此,通过特征向量/值可以完全描述某一几何空间这一特点,使得特征向量与特征值在几何(特别是空间几何)及其应用中得以发挥。
矩阵论在图像中的应用比如有PCA方法,选取特征值最高的k个特征向量来表示一个矩阵,从而达到降维分析+特征显示的方法。一般而言,这一方法的目的是寻找任意统计分布的数据集合之主要分量的子集。相应的基向量组满足正交性且由它定义的子空间最优地考虑了数据的相关性。将原始数据集合变换到主分量空间使单一数据样本的互相关性降低到最低点。一下是其运用的原理:
 

设是N维向量的数据集合,m是其均值向量:


    有了特征向量集合,任何数据x可以投影到特征空间(以特征向量为基向量)中的表示:


   

 

 

相反地,任何数据x可以表示成如下的线性组合形式:


如果用A代表以特征向量为列向量构成的矩阵,则AT定义了一个线性变换:



上述去相关的主分量分析方法可以用于降低数据的维数。通过略去对应于若干较小特征值的特征向量来给y降维。例如,丢弃底下N-M行得到的矩阵B,并为简单起见假定均值m=0,则有:

 

它只是被舍弃的特征向量所对应的特征值的和。通常,特征值幅度差别很大,忽略一些较小的值不会引起很大的误差。

    上述方法是图象数据压缩的数学基础之一,通常被称为PrincipalComponent Analysis (PCA)Karhunen-Loeve (K-L)变换

    K-L变换的核心过程是计算特征值和特征向量,有很多不同的数值计算方法。一种常采用的方法是根据如下的推导:

 

 


                 

由于通常s<<N,这种方法将求高阶矩阵的特征向量转化为求较低阶矩阵的特征向量的过程在图象数据分析中是很实用的。

   K-L变换是图象分析与模式识别中的重要工具,用于特征抽取,降低特征数据的维数。例如,MIT-Media Lab基于特征脸的人脸识别方法。

   通过上述的理论,我们对特征值与特征向量在图像处理上的运用有了深入的了解,同时也感受到了知识的魅力在不停的渲染着我们的生活。当然,特征值的魅力还不仅在于图像处理上,它在物理,材料,力学等方面都能一展拳脚,有人曾在一本线代书里这样说过“有振动的地方就有特征值和特征向量”。同时让我对平时未能把握住的知识感到惋惜,因为知识对生活的改造实在是缤纷乐,所以现在的我们,首要任务还是学好知识,让知识去创造财富!

参考(基于特征向量的变换)

2017-10-24 12:09:45 chunmi6974 阅读数 7809
  • 图像特征提取运动估计

    认真学习本门课程后,学员可以掌握计算机视觉技术的基本原理和应用方式。可在实际项目、创新项目、创业实践中应用,同时可供感兴趣同学作为以后深入学习计算机视觉知识的基础。公开课试听:...

    303人学习 AI100讲师
    免费试看

图像处理之特征值和特征向量的意义

2446人阅读 评论(0) 收藏 举报
分类:

注:以下为个人学习笔记、知识整理

1.特征值

从线性变换入手,把一个矩阵当作一个线性变换在某一组基下的矩阵,而最简单的线性变换就是数乘变换。

特征值的意义就是:目的就是看看一个线性变换对一些非零向量的作用是否能够相当于一个数乘变换,特征值就是这个数乘变换的变换比。

特征值得简单理解就是:输入x到系统A中,输出得到的是输出x的landa倍。

2.特征向量

公式当中的x就是特征向量。

我们更关心的是把原先的线性空间(如A)分解成一些和特征向量相关的子空间的直和。

这样我们的研究就可以分别限定在这些子空间上来进行,这和物理中在研究运动的时候将运动分解成水平方向和垂直方向的做法是一个道理!

 特征值是针对方阵而言的。

3.特征值和特征向量在图像处理的含义

我们知道,一个变换可由一个矩阵乘法表示,那么一个空间坐标系也可视作一个矩阵,而这个坐标系就可由这个矩阵的所有特征向量表示,用图来表示的话,可以想象就是一个空间张开的各个坐标角度,这一组向量可以完全表示一个矩阵表示的空间的“特征”,而他们的特征值就表示了各个角度上的能量(可以想象成从各个角度上伸出的长短,越长的轴就越可以代表这个空间,它的“特征”就越强,或者说显性,而短轴自然就成了隐性特征),因此,通过特征向量/值可以完全描述某一几何空间这一特点,使得特征向量与特征值在几何(特别是空间几何)及其应用中得以发挥。

4.矩阵论之图像处理

矩阵论在图像中的应用比如有PCA( Principal Component Analysis)主成分析方法,选取特征值最高的k个特征向量来表示一个矩阵,从而达到降维分析+特征显示的方法。一般而言,这一方法的目的是寻找任意统计分布的数据集合之主要分量的子集。相应的基向量组满足正交性且由它定义的子空间最优地考虑了数据的相关性。将原始数据集合变换到主分量空间使单一数据样本的互相关性降低到最低点。

5.PCA例子说明

      对于一个k维的feature来说,相当于它的每一维feature与其他维都是正交的(相当于在多维坐标系中,坐标轴都是垂直的),那么我们可以变化这些维的坐标系,从而使这个feature在某些维上方差大,而在某些维上方差很小。例如,一个45度倾斜的椭圆,在第一坐标系,如果按照x,y坐标来投影,这些点的x和y的属性很难用于区分他们,因为他们在x,y轴上坐标变化的方差都差不多,我们无法根据这个点的某个x属性来判断这个点是哪个,而如果将坐标轴旋转,以椭圆长轴为x轴,则椭圆在长轴上的分布比较长,方差大,而在短轴上的分布短,方差小,所以可以考虑只保留这些点的长轴属性,来区分椭圆上的点,这样,区分性比x,y轴的方法要好!

所以我们的做法就是求得一个k维特征的投影矩阵,这个投影矩阵可以将feature从高维降到低维。投影矩阵也可以叫做变换矩阵。新的低维特征必须每个维都正交,特征向量都是正交的。通过求样本矩阵的协方差矩阵,然后求出协方差矩阵的特征向量,这些特征向量就可以构成这个投影矩阵了。特征向量的选择取决于协方差矩阵的特征值的大小。

举一个例子:

对于一个训练集,100个sample,特征是10维,那么它可以建立一个100*10的矩阵,作为样本。求这个样本的协方差矩阵,得到一个10*10的协方差矩阵(解释在第6),然后求出这个协方差矩阵的特征值和特征向量,应该有10个特征值和特征向量,我们根据特征值的大小,取前四个特征值所对应的特征向量,构成一个10*4的矩阵,这个矩阵就是我们要求的特征矩阵,100*10的样本矩阵乘以这个10*4的特征矩阵,就得到了一个100*4的新的降维之后的样本矩阵,每个sample的维数下降了。

当给定一个测试的特征集之后,比如1*10维的特征,乘以上面得到的10*4的特征矩阵,便可以得到一个1*4的特征,用这个特征去分类。

所以做PCA实际上是求得这个投影矩阵,用高维的特征乘以这个投影矩阵,便可以将高维特征的维数下降到指定的维数。

6.协方差矩阵

	定义是变量向量减去均值向量,然后乘以变量向量减去均值向量的转置再求均值。例如x是变量,μ是均值,协方差矩阵等于E[(x-μ)(x-μ)^t],物理意义是这样的,例如x=(x1,x2,...,xi)那么协方差矩阵的第m行n列的数为xm与xn的协方差,若m=n,则是xn的方差。如果x的元素之间是独立的,那么协方差矩阵只有对角线是有值,因为x独立的话对于m≠n的情况xm与xn的协方差为0。另外协方差矩阵是对称的。
一般多变量分布的时候(例如多元高斯分布)会用到协方差矩阵,工程上协方差矩阵也用来分析非确定性平稳信号的性质以及定义非确定性向量的距离(马哈拉诺比斯范数)。



1
0

2017-07-31 20:36:36 woainishifu 阅读数 38964
  • 图像特征提取运动估计

    认真学习本门课程后,学员可以掌握计算机视觉技术的基本原理和应用方式。可在实际项目、创新项目、创业实践中应用,同时可供感兴趣同学作为以后深入学习计算机视觉知识的基础。公开课试听:...

    303人学习 AI100讲师
    免费试看

在线性代数的最后,我们都会学矩阵的特征值分解,我们知道一个方阵A经过特征值分解后就得到特征向量和特征值了。那么,这个所谓的特征值和特征向量到底是什么东西呢?


我们一上来就会学到这样的一个公式:

Ax = λx,其中x是一个向量

这个式子是如此的简单粗暴,以致于从这个公式来看,给向量x乘上一个矩阵A,只是相当于给这个向量乘上了一个系数λ。偌大一个矩阵A对向量x的作用竟然本质上不过只是和一个小小的数字λ相同而已!!!


所以这个矩阵分解方法到底具有什么样的意义?


首先给出概念上的一种解释。所谓的特征值和特征向量,最重要的是理解“特征”这两个字,特征向量翻译为eigen vector, eigen这个单词来自德语,本义是在“本身固有的,本质的”。纯数学的定义下,并不能很明白地理解到底为什么叫做特征值和特征向量。但是举一个应用例子,可能就容易理解多了。


在图像处理中,有一种方法就是特征值分解。我们都知道图像其实就是一个像素值组成的矩阵,假设有一个100x100的图像,对这个图像矩阵做特征值分解,其实是在提取这个图像中的特征,这些提取出来的特征是一个个的向量,即对应着特征向量。而这些特征在图像中到底有多重要,这个重要性则通过特征值来表示。比如这个100x100的图像矩阵A分解之后,会得到一个100x100的特征向量组成的矩阵Q,以及一个100x100的只有对角线上的元素不为0的矩阵E,这个矩阵E对角线上的元素就是特征值,而且还是按照从大到小排列的(取模,对于单个数来说,其实就是取绝对值),也就是说这个图像A提取出来了100个特征,这100个特征的重要性由100个数字来表示,这100个数字存放在对角矩阵E中。在实际中我们发现,提取出来的这100个特征从他们的特征值大小来看,大部分只有前20(这个20不一定,有的是10,有的是30或者更多)个特征对应的特征值很大,后面的就都是接近0了,也就是说后面的那些特征对图像的贡献几乎可以忽略不计。我们知道,图像矩阵A特征值分解后可以得到矩阵Q和矩阵E:

那么反推出去,把右边的三个矩阵相乘肯定也能得到矩阵A。既然已经知道了矩阵E中只有前20个特征值比较重要,那么我们不妨试试把E中除了前20个后面的都置为0,即只取图像的前20个主要特征来恢复图像,剩下的全部舍弃,看看此时会发生什么:

原图:【注意:特征值分解要求必须是nxn的方阵,如果不是行列相等的方阵,请使用奇异值分解】


只取前10个特征值:


只取前20个特征值:


只取前50个特征值:


只取前100个特征值:



我们可以看到,在只取前20个特征值和特征向量对图像进行恢复的时候,基本上已经可以看到图像的大体轮廓了,而取到前50的时候,几乎已经和原图像无异了。明白了吧,这就是所谓的矩阵的特征向量和特征值的作用。


我们再来从数学定义上尝试去理解。对应一个给定的矩阵A,如果有一个向量v,使得矩阵A作用于v之后(即A和v相乘),得到的新向量和v仍然保持在同一直线上,像下面这样:

{\displaystyle Av=\lambda v}

那么就称向量v是矩阵A的一个特征向量,而λ就是特征向量v对应的特征值【一个特征向量一定对应有一个特征值】。

注意这个定义中的要点,我们都知道矩阵其实就是一个线性变换,向量v在经过矩阵A这个线性变换之后,新向量和原来的向量v仍然保持在同一直线上,也就是说这个变换只是把向量v的长度进行了改变而保持方向不变(在特征值是负数的情况下,新向量的方向是原来方向的反向,即180°反方向)。


为了理解这个概念,我们再看维基百科上关于特征向量给出的一个《蒙娜丽莎》的例子:

当蒙娜丽莎的图像左右翻转时,中间垂直的红色向量方向保持不变。而水平方向上黄色的向量的方向完全反转,因此它们都是左右翻转变换的特征向量。红色向量长度不变,其特征值为1。黄色向量长度也不变但方向变了,其特征值为-1。橙色向量在翻转后和原来的向量不在同一条直线上,因此不是特征向量。


所以归根结底,特征向量其实反应的是矩阵A本身固有的一些特征,本来一个矩阵就是一个线性变换,当把这个矩阵作用于一个向量的时候,通常情况绝大部分向量都会被这个矩阵A变换得“面目全非”,但是偏偏刚好存在这么一些向量,被矩阵A变换之后居然还能保持原来的样子,于是这些向量就可以作为矩阵的核心代表了。于是我们可以说:一个变换(即一个矩阵)可以由其特征值和特征向量完全表述,这是因为从数学上看,这个矩阵所有的特征向量组成了这个向量空间的一组基底。而矩阵作为变换的本质其实不就把一个基底下的东西变换到另一个基底表示的空间中么?


关于图像特征提取

阅读数 126964