sing.cs和singdal16.dll官方下载.cs有什么不同

第七届CS个人即兴演讲(改版)_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
第七届CS个人即兴演讲(改版)
上传于||暂无简介
大小:5.78MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢特征提取与图像处理
特征提取与图像处理
[英]Mark S.Nixon ·电子工业·2010·2版
第一章 绪论
横截面图 cross-section合成 synthesized光感元分两类:视杆细胞(rod )用于黑白视觉(暗视觉).另一类是视锥细胞,用于色彩视觉(明视觉).视锥细胞一千万,分布在中央槽五度以内。一亿视杆细胞分布在中央槽二十到五度内。视杆细胞就一种,视锥细胞有三种:s波长m波长l波长联合图像专家组 Joint Photographic Expert Group运动图像专家组 Moving Picture Expert Group
图像处理的软件网站:大概最好的是General Site
General Site  
Carnegie Mellon
包括研究源码,图像处理工具箱和显示工具
&Visiquest
&Hannover University
&AdOculos*(含教材)
&The Imaging Source
&Southern Illinois University
&LabolImage
&Geneva University
&TN-Image     
Thomas J. Nelson
&(科学图像分析)
&OpenCV    
&/technology/computing/opencv/index.htm
&国际贡献者
&Adobe  
数学软件工具包
可用数学软件介绍
Mathematica
Wolfram Research
IEEE Transaction s on:Pattern Analysis and Machine Intelligence
Image Processing(IP)
CVOnline : 网络教材简要
Edinburgh University
The computer Vision Homepage
Carnegie Mellon Universit
Computer Vision Online
Ediburgh University
Hpermedia Image Processing Reference 2
Edinburgh University
Image Prcessing Archive
3D Reconstruction
Stanford University
Face Recognitoin
Zagreb University
计算机视觉和图像处理
Keith Price,USC
计算机视觉
Vision List
comp.ai.vision()
sci.image.processing
第二章 图像、采样和频域处理
不同点数及其数值范围的效果
灰度、颜色、分辨率,动态范围,存储
傅里叶变换理论     
频域及离散图像,图像和采样分辨率                 
连续傅里叶变换及特性,采样标准,离散傅里叶变换,图像变换,变换对偶,逆傅里叶变换 
变换方法和结果
傅里叶变换及其它变换,频域处理
平衡,旋转,尺度变化,叠加和线性理论。Walsh,Hartley,离散余弦,小波。
CMYK颜色模型分为青縁、品红、黄色和黑色。
傅里叶变换是将信号映射到分量频率的一种做法。
傅里叶变换表明时域信号是由什么频率组成的。
为了从频域信号恢复时域信号,需要进行逆傅里叶变换。
卷积运算用*标记一个信号 p1(t) 与另个信号 p2(t) 的卷积过程为:将函数p2反折,向右移动距离t ,计算p1 和反折后的p2在各点的积,并积分,得到在t处输出值。
信号系统中,输出激励p1和系统响应p2的卷积,通过反转系统响应时间轴得到p2(t-x ),从而得到记忆函数.卷积过程对激励与记忆函数相乘后的积求和,系统当前输出是对激励的累加响应。
卷积积分可以通过对两个信号变换的乘积进行逆傅里叶变换来实现。 
低频带有较多信息,高频信息破坏不那么重要。
在成像系统中,景深是有限的(减少了高频成份)。
高频分量反映亮度上的变化。
离散傅里叶变换DFT
FFT只能用于图像大小为2的整数次幂的正方形图像。FFT计算成本 Ο(N2log(N)). 二维DFT计算成本 Ο(N3).
图像的傅里叶变换计算的是频率分量,每个分量的位置表示其频率:低频率分量离原点距离较近,高频率分量离原点距离较远。
二维傅里叶变换的布局是低频率分量位于变换的边角上。
如果直流位于图像中心,频率向图像边缘递增,这样空间变换比较容易可视化。通过将傅里叶变换的四个象限分别旋转180°来实现。只需要将每个图像点Px,y 与-1(x+y)相乘即可实现。
傅里叶变换性质
位移不变性 图像分解为空间频率与图像中特征的位置无关。假设将所有特征移动一定距离,或者从不同位置采集图像,其傅里叶变换的幅度不会发生变化。但相位发生变化。
旋转 傅里叶变换处理具有朝向依赖性。
频率尺度变化 时间是频率倒数。图像被压缩相当于时间缩短,而频率相应增大,其频率分量会扩展。
叠加性 判断一个系统是线性的,只要该系统对两个组合信号的反应与单个信号的反应之和相等。这个性质表明可以利用频域来分离图像。
傅里叶以外的变换
离散余弦 最优图像编码 在能量集中性方面有很大优势。
离散Hartley变换 不需要复数计算,正变换和逆变换是相同操作。
小波 可进行多分辨率分析(即不同尺度或分辨率上的分析)。可同时进行空间和频率上的削减。可进行局部空间频率分析。
阅读资料:
第三章 基本图像处理运算
图/直方图的亮度分量
计算新的图像点作原图像同位置的点函数。阈值处理将灰度图像变二值表达。
直方图处理,亮度映射,加法,反转,尺度变化,对数,指数,亮度正则化,直方图均衡化,阀值处理。
计算新图像点作为原图像同位置点的近邻点的函数。该函数是统计函数,
包括:平均值,中值和模式。高级滤波技术包括特征保存。
形态学算子由二值运算到灰度运算,根据形状处理图像。
模板卷积(包括频域实现)。
统计算子:直接平均,中值滤波,模式滤波。图像平衡的异性扩散。
数学动态学:击中和未击中变换,腐蚀,膨胀(包括灰度算子)和Minkowski算子。
亮度值设置255为白色。
对数函数 降低亮度级范围,指数函数 扩大亮度级范围。
常用扩展亮度级范围的方法包括直方图(亮度)正规化。这里是指将原直方图进行扩展有位移,使直方图涵盖所有256个亮度级。matlab命令是imagesc函数。
直方图均衡化 是一个非线性处理过程,适合人类视觉分析的方法来增强图像亮度。
图像直方图处理常用的是正规化。均衡化的缺点一是受噪声影响,二是非线性不可逆。
阀值处理有两种形式:均一阀值和自适应阀值。
均一阀值需要灰度级知识,否则目标特征在阀值处理过程中可能无法提取。
最优阀值处理:选择一个将目标与背景分离的阀值。
Otsu方法 是将图像分割成目标和背景的阀值被选择出来的可能性最大。它只选择一个阀值,从而使图像中所有像素分离成最合适的不同类。
基本原理是利用正规化直方图,其中每个亮度级的值为该亮度级的点数除以图像总点数。
最优阀值就是类分离方差最大时的亮度级,
Otsu是自动的,不是手动的。
到目前为止我们关注的是全局方法,即对整帧图像进行处理的方法。
局部适应的方法,通常用于字符识别前的文件二值化。
图像解释的场景中存在多个目标,目标通常被遮挡的,许多目标具有相似的像素亮度范围。因此利用均一阀值处理图像,需要更精细的度量来分离目标。
群运算 是利用分组处理,根据一个像素的近邻来计算新像素值。群运算通常用模板卷积表示。
模板是一组加权系数,方形,大小是奇数,可以恰当定位。
卷积处理  NewImage = Weight*OriginImage.   matlab模板卷积算子: convolve
平均算子  平均处理的是降低噪声,这是其优势,与之相关的缺点 是平均处理引起图像的模糊,从而是减少图像中的细节。
高斯平均算子 图像平滑处理最优,比直接平均保留更多特征。
中值滤波 去除椒盐噪声。找出图像背景是统计算子的应用。
模式滤波 减少噪声同时保留特征边界,这是中值滤波显著特性之一。
各向异性扩散 平滑处理的最高级形式是处理过程保留图像特征的边界。这是中值算子优势之一,也是高斯平滑算子缺陷。其原理被称为各向异性扩散。滤波是在特征范围而不是边界进行。
尺度空间 基本思想是图像具有从低分辨率(粗糙取样图像)到高分辨率(细致取样图像)的多尺度表达。
热方程 即为各向异性扩散方程。(各向同性--高斯滤波)。扩散系数:局部变化量保留多少。参考:各向异性 
力场变换 图像滤波算子.
反平方定律 E=I/d2;照度与距离平方成反比而与光度成正比.又称平方反比定律、逆平方律、反平方律;
如果任何一个物理定律中,某种的分布或强度,会按照距离源的远近的平方反比而下降,那么这个定律就可以称为是一个反平方定律。
边界是低层特征,形状是高层特征。
数学形态学 利用集合论发展而来的算子分析图像。将图像和形状看做是点集,根据形状利用数学形态学处理图像。
形态学算子定义的是局部变换,把要表达的像素值看做集合。这种改变像素值的方式是通过定义击中或示击中变换进行形式变化的。
腐蚀算子最常见的应用之一是对阀值处理后的图像去噪。
开算子、先腐蚀再膨胀,关算子、先膨胀再腐蚀。
灰度形态学
函数集合形式有两种表达:横截面和暗影。
Minkowski算子,将集合去处变成求和以及求差运算。
&第四章 低层次特征提取(边缘检测)
&低层次特征是不需要任何形状信息(空间关系)就可以从图像中自动提取的基本特征。边缘检测和角点检测。
一阶边缘检测
边缘是什么,如何检测。一阶微分等价算子。滤波以及复杂一阶算子
差分运算;Roberts,平滑处理,Prewitt,Sobel,Canny 频域分析 
二阶边缘检测
一阶和二阶微分的关系,二阶算子基础,滤波及其它运算。
二阶微分,Laplacian,过零点检测,MarrHildreth,Log,高斯差分,尺度空间。
其它边缘算子
其它噪声,Spacek。其它边缘模型,Petrou
相位一致性
逆傅里叶变换,特征提取相位。边缘和特征检测的其它形式
频域分析,检测特征区域,光度不变性,小波
局部特征检测
局部低层次特征,曲率扩展到图像块。边缘信息,亮度变化,相关性。图像块检测
平面曲率,角点,曲率推测,边缘方向变化,亮度变化,harris角点检测子,sift和显著性算子
运动和光流特征,微分方法推测光流,其它方法(移动区域法
微分检测,光流,孔径问题,平滑约束,微分方法,Horn and Schunk,相关性
一阶边缘检测算子
&检测边缘位置,一阶微分可以使变化增强。水平边缘检测算子,对水平方向上的相邻点进行差分处理,可以检测垂直方向的亮度变化。由于差分值为0,水平算子不会显示水平方向上的亮度变化,可以检测出垂直边缘。
&Roberts交叉算子 基础的一阶边缘检测,利用两个模板,对角线上而不是沿坐标轴方向的两个像素计算它们的差值。
&Prewitt边缘检测算子 沿每个坐标轴亮度变化率。边缘强度M是微量的长度,边缘方向Θ是向量的角度。
Sobel边缘检测算子 使两个Prewitt模板中心像素的权重取2倍的值。
Canny边缘检测算子 三个主要目标:无附加响应(减少噪声响应)、距离最小的正确定位(正确性)、单响应(单个边缘点定位)。
第一个目标:canny认为 高斯算子对图像平滑处理(边缘检测)是最优的。
第二个目标:非极大值抑制返回的只是边缘数据顶脊处的那些点,而抑制其它所有点。使结果细化处理,非极大值抑制的输出是正确位置上边缘点连成的细线。
第三个目标:限制单个边缘点对于亮度变化的定位。这是因为 并非只有一条边缘表示为当前检测到的边缘。
&canny 步骤:
应用高斯平滑处理
应用sobel算子
应用非极大值抑制
连接边缘点的滞后阀值处理
前两步可以由高斯模板,把一阶微分和高斯平滑结合一起进行处理。图像平滑处理后,边缘就成数据岭(边缘强度)。
非极大值抑制实际上是找到边缘强度数据中的最高点。利用边缘方向信息来处理验证是否有峰值。
滞后阀值 点的亮度值大于阀值时设为白色,达到下限阀值时设为黑色。亮度变化是单一方向的
非极大值抑制 作用是沿顶脊(iwe)选取特征点。假设顶脊点大于上限阀值,把阀值处理输出设为白色直到峰值直到小于下限阀值。然后把阀值处理输出设为黑色直到峰值直到大于上限阀值。
滞后阀值处理是递归的。先找到初始种子设为白色,然后查找其相邻点。
二阶边缘检测算子
Laplacian基础算子 是一个实现二阶微分的模板。 水平二阶算子和垂直二阶微分结合可得全Laplacian模板。计算的是一个点与四个直接近邻点的平均值之间的差。
中心权可正可负,可四相邻或八相邻,但要保证模板系数总和0,从而在亮度均匀区域不会检测到边缘。 
优点:各向同性(同高斯算子)缺点:不包含平滑,会对噪声产生响应,所以基本不用Laplacian基本式。
Marr-Hildreth 算子 也是利用高斯滤波。把高斯平滑和Laplacian结合起来,得到LoG算子。LoG计算可以用高斯差分来近似。模板系数总和1.
怎样决定过零点的点?
优点:能够给出封闭的边缘边界,能够避免滞后阀值的递归计算,具有多分辨率分析能力(可在不同的尺度上检测边缘)。
变换是中心对称的,LoG忽视了低频和高频成分,相当于一个带通滤波。σ 的取值可以调节算子在空域的张开度和频域的带宽:σ 大得低通滤波。(一阶边缘检测是沿一条轴起高通/微分,另条轴起低通/平滑作用)。
所有边缘检测算子都是用滞后阀值处理来实现的。
相位一致性 是一个特征检测算子,它有两个优点:可以检测大范围的特征,对局部(和平滑)光照变化具有不变性。
一致性检测具有局部对比度不变性:即使阶梯边缘强度变小,正弦波不断叠加,其变化位置并不改变。
傅里叶分量相位最大的点确定特征   缺点:  噪声敏感 不好定位。
相位一致性关键词  频域 小波 卷积
定位特征提取
传统方法 检测图像曲率(角点提取)  局部曲率的峰值是角点。
点v(t)处曲率描述的是沿方向 φ(t)对弧长的变化。
曲率函数的计算方法
对于曲线上的每个点,都有一对正交向量v(t),n(t),它们的模数通过曲率成正比关系。n(t)垂直于v(t),曲率k(t)表示它的模数。
数字图像中的曲线 曲率计算有三种方法  
计算边缘方向的差值 
亮度变化计算曲率(微分)
通过相关性
亮度变化的方法 如果沿法线方向进行微分,可以使总曲率达到最大。作为蛇形模型(自主轮廓)的特征提取方法一部分。
Moravec & Harris  考虑图像P自身在特定方向上的变化来计算曲率。
现代方法  区域/图像块分析  
尺度不变特性变换 SIFT 的目标是解决低层次特征提取及其在图像匹配应用中的许多实际问题。SIFT包括两个步骤:特征提取和描述。
首先,高斯算子的差值应用于图像以确定 一些可能的兴趣特征。该方法的上的是保证特征选取不依赖于特征大小(尺度)或特征朝向。
其实,对这些特征进行分析,利用局部梯度方向确定特征朝向之前确定特征的位置和尺度。
最后,把这些特征转换成一和中表达,可以处理光照变化和局部形状畸变。
显著性算子 如果一些区域不能同时在特征和尺度空间进行预测的话,该方法把这些区域看成是显著特征。
与传统方法相比,它的目标是成为一个尺度和显著性特征的通用方法,因为这两者的定义都与特殊的基本形态意义无关,这些基本形态意义不是基于粒子、边缘和角点等特殊的几何特征。该方法是通过确定某一尺度上图像块内的熵来处理的。显著性就是这些熵峰值 的加权和。
描述图像运动
基于区域的方法 运动看作是一组图像平面上的位移,位移支应的是场景中目标的投射移动,即光流。光流是时间单位上的像素移动,像素/帧。如果特征是像素,可以通过观察图像区域(即局部近邻点)亮度之间的相似度来找到对应点。
简化假设:
图像中点的亮度不变
近邻点以相同速度移动
微分方法 另一个推测运动的方法, 关注像素值的微分变化。光流和空间亮度变化率一起可以描述图像如何随时间变化。
第五章 形状匹配的特征提取(高层次)
如何在像素层次检测特征。移动目标检测,优点和不足。形状信息
阀值处理。背景差分
通过匹配进行形状提取。优点和不足。有效实现。
直接实现和傅里叶实现。噪声和遮挡
通过匹配进行特征提取。霍夫变换检测二次曲线,检测任意形状。不变性公式。速度和效率上的优点
证据收集进行特征提取,霍夫变换检测直线,圆。广义和不变性
阀值处理和差分
直方图均衡化的结果易受噪声阴影和光照 变化影响。
模板匹配 将模板的中心放在一个图像点上,计算模板中有多少点与图像点匹配。对整幅图像重复这一过程,那个最佳匹配点,计数最大的,就是形状(模板)在图像中的位置。
像素匹配的概率,最大似然估计等效于选择具有最小化平方差的模板位置,(模板像素点与相应的图像像素差值 的平方)
二值图像可以减小计算量。直接数字实现模板匹配的速度很慢。更快的如基于快速变换微积分的傅里叶实现。
模板匹配最主要的优势就是对噪声和遮挡的不敏感性。
傅里叶变换实现
卷积和乘法之间的对偶性 空域的乘法相当于频域的卷积
霍夫变换 HT 是一种在图像中定位形状的技术。特别是提取直线、圆和椭圆。
直线 霍夫变换通过对存储证据或者投票的累加器数组进行简单的计数,通过对每一个点追踪所有的双线完成的。追踪的每个点增量数组的一个元素,直线提取问题转化为在累加器空间中定位的最大值问题。
圆的霍夫变换 
椭圆检测 
&广义霍夫变换
第六章 弹性形状提取(蛇模型)
可变形模板
可变形模板的匹配。最佳匹配的分析方法
能量最大化。计算方法,最优化处理
主动轮廓和蛇模型
利用轮廓演变出形状,离散和连续公式。操作方法和新主动轮廓方法
曲线演变的能量最小化。贪心算法。完全蛇模型。参数化,初始化。梯度向量场和水平集方法
形状骨架化
距离,骨架和对称性的概念及量度。证据收集方法的对称性检测应用。
距离变换和形状骨架。离散对称算子。对称点分布的证据累加。
主动形状模型
通过统计方法表达形状变化。在特征提取范围内获取形状变化。
主动形状模型。主动外观。主成分。
可变形模板&
蛇模型 是使一组点(轮廓)进行演变,从而与图像数据相匹配,而不是使形状演变。
主动轮廓/蛇模型 是与特征提取完全不同的方法。主动轮廓是将目标特征即等提取特征包围起来的一组点。类似于利用一个气球来找出形状,气球放在形状外部,将形状包围在内,然后从气球将空气放出,使它慢慢变小 ,当气球停止缩小时即找出了形状,此时气球与形状完全拟合。
在目标特征的外部设置一个初始轮廓,然后对其进行演变并将目标特征包围在内。主动轮廓可以表示为能量最小化处理。目标特征是经过合理公式化的能量泛函的最小值。
能量泛函 是轮廓内部能量、其约束能量以及图像能量的相加函数。这三个能量分别标记为EINT,ECON,EIMAGE.它们是组成蛇模型v(s)的一组点,即蛇模型中所有点的x和y坐标。EINT 决定蛇模型的自然变化,从而决定蛇模型所有点的排列。图像能量EIMAGE引导蛇模型选择低层次特征(例如边缘点)。约束能量ECON给出高层次信息以控制蛇模型的演变。内部图像能量定义为轮廓周围一阶和二阶导数的加权和,一阶导数dv(s)/ds表示由伸缩而产生的能量,即弹性能量。二阶微分d2v(s)/ds2表示因弯曲而产生的能量,即曲率能量。图像能量引导蛇模型提取低层次特征,比如亮度或边缘数据,目的是选取具有最小贡献的特征。线、边缘和端点。
蛇模型的贪心算法
完全蛇模型KASS
其它蛇模型
几何主动轮廓 参数化的主动轮廓(蛇模型)很难同时对多个目标进行分割。几何主动轮廓模型,曲线用水平集函数隐式表达。
水平集方法 实质上是找出形状,但不对其进行参数化,因此曲线描述是隐式而不是显式的,把它看做是函数的零水平集。零水平集是图像中两个区域之间的接口。水平集函数是带正负号的,表示与轮廓的距离 ,内部距离设为负,外为正,轮廓本身即目标形状,其距离为零,即在两个区域之间的交界处。
参考资料 水平集两本重要的教材 Sethian,1999;Osher and Paragios ,2003
无边缘主动轮廓模型
形状骨架化 
距离变换  
对称性 离散对称算子
弹性形状模型:主动形状和主动外观
前面讨论的是可变形的模板或可以演变的形状,主动轮廓是弹性的,但其演变实质上受局部曲率或边缘强度等局部特征的限制。
弹性模板 利用从训练数据样例形成的整体形状约束,考虑图像库中是否包含该形状的所有可能变化。其中最主要的方法是主动形状建模,关注由点组成的形状模型,点的变化称为点分布模型,所选地标点在训练图像中标记,顺序标记很重要。主成分分析将数据压缩成最重要项。
应用过程(找出被建模形状的实例)是利用迭代方法,使模型和图像中匹配点不断增多。可以通过检测模型点周围区域以确定最佳近邻匹配来实现。对数据的最佳拟合模型计算适当的平移、缩放和旋转和特征向量。不断重复以上处理直到模型对数据收敛。
主动形状模型ASM 由于只改变形状以更好地拟合数据,并且形状受所期望的形状外观控制,所以这种模型被称为主动形状模型ASM
主动外观模型AAM 包括纹理,通过重复搜索处理对纹理进行匹配来更新模型参数,使地标点向图像点靠近。
ASM利用的是点附近的纹理信息,AAM利用的是整个区域的纹理信息。
ASM想要得到模型点与相应图像点之间的最小距离 ,AAM要合成模型与目标图像间的最小距离。
AAM在当前点附近,尤其在垂直于边界的轮廓上进行搜索,而AAM只考虑当前位置的图像。
蛇模型在医学图像像的弹性提取综述McInerney and Terzopolous 1996
医学图像分析的历史综述Duncan and Ayache 2000
Cootes教授的网站:关于弹性形状建模的详细资料 http://www.isbe.man.ac.uk/~bim/
用于图像分割的水平集方法Cremers et al.2007
第七章 目标描述
如何确定边界及所办公室的区域,如何形成区域描述及必要的特征,用傅里叶方法
基本方法:链码。傅里叶描述符:离散近似。累加角函数和椭圆傅里叶描述
如何描述形状区域。基础形状量度:启发法及特征。利用统计矩表述区域:不变性及复杂描述。重构
基本形状度量;面积、周长。紧凑度,离散性。矩:基本矩,中心矩,不变矩。Zernike矩
&边界描述 
区域描述的是边界所包围的内容(内部点)。
边界被称为区域轮廓,指它的形状。如果一个点在区域内,它还有一个邻像素在区域外,那这个点就是边界(轮廓)上的点。
区域内部点和边界点通过四连通或八连通来描述。它们是互补的,如果边界像素是四连通,那区域像素就是八连通,反之亦然。
链码 只存储连续像素之间的相关位置。方向数字串
傅里叶描述符 利用表示形状整体频率分量的一组数字来描述轮廓特征。首先要定义一个曲线表达。其次,利用傅里叶理论将其展开 。
基本原理 傅里叶分量(直流分量)的第一个成分只是x和y坐标的平均值,它是以复数形式表示的边界中心点的坐标。第二个成分所给出的是最适合这些点的圆的半径。因此,圆可以用零阶和一阶成分(直流分量和第一个谐波)来进行描述。零阶分量给出是形状的位置(圆点)。椭圆可以加入所有空间分量来重构
傅里叶展开式 基底(、拉格朗日、牛顿插值),傅里叶展开的主要特征是定义了一组正交基。
移动不变性 链码要特别关注的是得到起点不变性。主要在于曲线移动时描述符是否会改变。
离散计算 离散化具有两个作用,首先可以限制展开式中频率的数量,其次,它对定义傅里叶系数的积分进行数值化近似。
累积角函数 曲线上一点的累积角函数定义为从起始点开始的角度变化量。由于它表示每个点角度变化的总和,被 称为累积。累积角函数避免了角函数的不连续性。
椭圆傅里叶描述符 累积角函数把曲线的二维描述变换成适合傅里叶分析 一维周期函数。而椭圆傅里叶描述符保持曲线在二维空间的描述。通过考虑图像空间定义的是复平面来实现。每个像素定义为一个复数。
椭圆傅里叶描述符的不变性 
区域描述符 基本区域描述符是对区域的几何属性进行特征化,矩所关注的是区域的密度。
基本区域描述符  面积 周长 
紧凑度  是周长和面积的比值。
离散性(不规则性) 是最大弦长与面积比。对于不规则形状,这个比值变大,而紧凑度减小。
矩 矩描述的是形状的构图(像素排列)。矩是形状的全面描述,具有傅里叶描述同样的优势,具有选择性(自带的识别和过滤噪声的能力)。
不变矩 中心矩只具有平衡不变性,不对应其他外观转换。为得到尺度和旋转不变性,需要正规化中心矩。
Zernike矩 可以实现不变性,它给出旋转不变矩的一个正交系。大小保持旋转不变性,它只对相位有影响。可以通过正规化实现尺度不变性。另个优势是存在一个重构定理。原形状f可以通过其矩和Zernike多项式重构。
图像的傅里叶变换可以通过其矩推导出来。
样条是用来对不同分区内的特征进行建模的区间函数。有二次和三次形式。蛇模型是一种能量最小化样条。
第八章 纹理描述、分割和分类基础
如何确定几组数值来识别纹理
特征提取,傅里叶变换,共生矩阵,区域,特征描述,能量,熵和惯性
如何将所得数值与已知纹理相联系
k近邻法则,支持向量机及其它分类
如何在图像范围找出纹理区域
卷积计算,平铺处理,阀值处理。
第九章 工作表
第十章 射影几何
第十一 最小二乘
估计理论的基础
第十二 主成分分析
pricipal components analysis PCA 也KL变换或者Hotelling变换。它是以线性代数因式分解为基础,因式分解通常用于将矩阵对角化,它的逆容易求得。数据变换对分类和压缩尤其有用。
PCA 收集数据并进行变换,使新的数据具有给定的统计特征。选择统计特性是为了使变换突出数据元素的重要性。PCA技术变换特征向量以定义新向量,新向量定义了具有更好的分类能力的成分。PCA确保我们突出了那些数据根据协方差衡量具有最大变化的数据。
协方差表示两个随机变量之间线性相关性。协方差衡量的是线性关系,线性通常是PCA的主要局限。
协方差矩阵
数据变换 
特征值问题
PCA运算步骤
发表评论:
TA的最新馆藏2071人阅读
GDAL(112)
大家都知道,在兲朝的电子地图的坐标都是经过了一个坐标偏移,叫GCJ_02的东西。在网上发现了将WGS84经纬度转成GCJ02的一个代码,写了个小程序测试了下看看全国各地的偏移量有多大。 关于WGS84转GCJ02的资料网上很多,我参考的是/SourceControl/changeset/view/21483#EvilTransform.cs。 先放一个处理的结果图,大概说明一下,绿色为偏移量最小的地方,红色为偏移量最大地方。右下角为图例,最小值为0.度大概为20多米,最大值为0.0104393大概为1公里多(不过这个地点已经超过我国范围了,下图右上角的区域)。关于GCJ02这个坐标系这里不讨论,下面主要说一下怎么用GDAL之类的库生成下面这个彩色的误差图像。 首先,找个中国的四至范围(陆地区域) 最西为东经 73°,最东为东经 135.5°。最男为北纬 18°,最北为北纬 54°,然后指定一个输出图像的格网大小,也就是分辨率,上面这个图大致为10000米也就是10公里一个像素。这样就可以得到这个图像的大小和仿射变换的参数了。 接下来,创建图像,然后遍历图像的每一个像素值,并且计算得到该像素值行列号对应的真实的WGS84经纬度坐标。 然后将WGS84经纬度通过上面的网址里面的转换关系计算转换后的GCJ02坐标系下的经纬度,然后计算这两个经纬度之间的距离,这里简单起见,直接用经纬度的欧拉距离,实际上应该用椭球上的两点大圆距离。 最后将每个点的距离计算出来,写出到图像即可。下面是全部代码。 最后牢骚几句。其实从上面这个图以及下面的公式可以发现,兲超某单位搞出来的这个坐标转换还是很厉害的,误差每个地方都不一样,而且还是连续的,从公式中可以看出,坐标转换的公式由一个关于经纬度的线性多项式(次数从0.5到2)加上经纬度的正弦函数组成。如果都是线性多项式的话,可以很容易推到反函数,但是后面加了一个非线性的函数(正弦函数应该是为了周期性的增加误差用的),这样反函数就非常不容易推导出来。所以关于从GCJ02坐标系转到WGS84只能用迭代法来进行求解了。// 兲朝火星坐标系偏移公式
// /SourceControl/changeset/view/21483#EvilTransform.cs
static double transformLat(double x, double y)
double ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * sqrt(abs(x));
ret += (20.0 * sin(6.0 * x * M_PI) + 20.0 * sin(2.0 * x * M_PI)) * 2.0 / 3.0;
ret += (20.0 * sin(y * M_PI) + 40.0 * sin(y / 3.0 * M_PI)) * 2.0 / 3.0;
ret += (160.0 * sin(y / 12.0 * M_PI) + 320 * sin(y * M_PI / 30.0)) * 2.0 / 3.0;
static double transformLon(double x, double y)
double ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * sqrt(abs(x));
ret += (20.0 * sin(6.0 * x * M_PI) + 20.0 * sin(2.0 * x * M_PI)) * 2.0 / 3.0;
ret += (20.0 * sin(x * M_PI) + 40.0 * sin(x / 3.0 * M_PI)) * 2.0 / 3.0;
ret += (150.0 * sin(x / 12.0 * M_PI) + 300.0 * sin(x / 30.0 * M_PI)) * 2.0 / 3.0;
// World Geodetic System ==& Mars Geodetic System
void WGS2GCJTransform(double wgLon, double wgLat, double &mgLon, double &mgLat)
const double a = ;
const double ee = 0.;
double dLat = transformLat(wgLon - 105.0, wgLat - 35.0);
double dLon = transformLon(wgLon - 105.0, wgLat - 35.0);
double radLat = wgLat / 180.0 * M_PI;
double magic = sin(radLat);
magic = 1 - ee * magic *
double sqrtMagic = sqrt(magic);
dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * M_PI);
dLon = (dLon * 180.0) / (a / sqrtMagic * cos(radLat) * M_PI);
mgLat = wgLat + dL
mgLon = wgLon + dL
void CalcGCJ02ToWGS84Error(const char *pszFile, double dRes)
GDALAllRegister();
GDALDriver *pDirver = (GDALDriver *)GDALGetDriverByName(&GTiff&);
//中国国土面积的四至(陆地区域) 最西为东经 73°,最东为东经 135.5°。最男为北纬 18°,最北为北纬 54°
double dMinX = 73.0;
double dMaxX = 135.5;
double dMinY = 18.0;
double dMaxY = 54.0;
// 根据指定的分辨率计算输出图像大小
int nWidth = static_cast&int&((dMaxX - dMinX) / dRes + .5);
int nHeight = static_cast&int&((dMaxY - dMinY) / dRes + .5);
printf(&%dx%d\n&, nWidth, nHeight);
// 构造输出图像的仿射变换参数
double dGeoTransform[6] = {dMinX, dRes, 0, dMaxY, 0, -dRes};
// 创建输出图像
GDALDataset* poDS = pDirver-&Create(pszFile, nWidth, nHeight, 1, GDT_Float32, NULL);
poDS-&SetGeoTransform(dGeoTransform);
poDS-&SetProjection(SRS_WKT_WGS84);
//GDALRasterBand *pBandLon = poDS-&GetRasterBand(1);
//GDALRasterBand *pBandLat = poDS-&GetRasterBand(2);
GDALRasterBand *pBandDis = poDS-&GetRasterBand(1);
double *pBuffer = new double[nWidth];
double *pDstLon = new double[nWidth];
double *pDstLat = new double[nWidth];
for (int i=0; i&nH i++)
#pragma omp parallel for
for (int j=0; j&nW j++)
double dSrcLon, dSrcL
GDALApplyGeoTransform(dGeoTransform, j, i, &dSrcLon, &dSrcLat);
WGS2GCJTransform(dSrcLon, dSrcLat, pDstLon[j], pDstLat[j]);
pDstLon[j] = dSrcLon - pDstLon[j];
pDstLat[j] = dSrcLat - pDstLat[j];
double dDis
= sqrt(pDstLon[j]*pDstLon[j] + pDstLat[j]*pDstLat[j]);
pBuffer[j] = dD
//pBandLon-&RasterIO(GF_Write, 0, i, nWidth, 1, pDstLon, nWidth, 1, GDT_Float64, 0, 0);
//pBandLat-&RasterIO(GF_Write, 0, i, nWidth, 1, pDstLat, nWidth, 1, GDT_Float64, 0, 0);
pBandDis-&RasterIO(GF_Write, 0, i, nWidth, 1, pBuffer, nWidth, 1, GDT_Float64, 0, 0);
RELEASE(pDstLon);
RELEASE(pDstLat);
RELEASE(pBuffer);
GDALClose(GDALDatasetH(poDS));
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:708693次
积分:9370
积分:9370
排名:第1306名
原创:141篇
转载:10篇
评论:2103条
文章:105篇
阅读:534988
(1)(2)(1)(1)(1)(1)(2)(4)(4)(2)(1)(1)(3)(1)(1)(1)(3)(2)(2)(3)(3)(3)(1)(4)(3)(5)(11)(5)(3)(14)(5)(3)(3)(1)(1)(2)(3)(7)(5)(5)(3)(2)(4)(4)(1)(2)(2)(5)(9)(1)(1)

我要回帖

更多关于 python gdal 的文章

 

随机推荐