自然梯度法主要是用接收信号的概率密度求梯度,最后为了鲁棒性,使用黎曼空间的表示。这说明这还是一个求导的概念。用g(y)表示接受信号的概率密度函数。这是一个估计的结果。
这个方法我想和SVD分解差不多,只是使用了多个时延,改善和确保性能。
正交投影:PH=H*adjoint(H) 斜投影: PH=H*adjoint(S)
眼睛总是被吸引到画面中最明亮的部分(差异最大的那分),例如白底黑主体就相反了。所以亮色调在视觉上优先。要充分利用光线,肤色,以及衣服的颜色的色调来突出主题。
例如深色的衣服有助于使人体与背景浑然一体,这样面部就会成为画面中最最显眼的部分,深色显的苗条,浅色增加分量,一般来说,衣服的颜色应该淡化,因为鲜艳的色彩会影响对面部的注意。 布光 ======
布光的原理最终是最终是颜色的设计,人像摄影主要是柔光. 柔光,冷光,䁔光,背景光,轮廓光,发型光,羽化光,光比
窗户光,最好的时候,上午中间,下午的中间时段. See also ========
Hue-Saturation
#. Y U V introduction – Main.GangweiLi - 12 Aug 2012
色阶曲线的应用 现在终于明白曲线坐标的意义了,X轴代表的是原来相素分布,Y代表输出的色采分布。曲线就是一个直接映射关系。 而原始分布是要根据直方图来看,或者直接去图片去测试区域。
– Main.GangweiLi - 20 Nov 2012
如何在实践应用 拿着相机,如何来控制颜色,来达到自己的目的呢。亮度的不同会产生什么,饱和度的会产生什么样的东西,色度的不同会产生什么。
– Main.GangweiLi - 02 Jan 2013
k-L 变换就是求数据的协方差矩阵的特征值和特征向量。
PCA降噪方法和之前的降维差不多,对于降噪来说,就是获得信号子空间和噪声子空间,-》从噪声子空间中估计噪声方差-》remove 噪声子空间
haar变换,就是利用上一个点对下一点进行相减,在信号不变的情况下,得到的信号就是稀疏的,稀疏之后然后在通过设置门限就可以把噪声抑制掉。
量子成像
相干斑主要是相干成像中明暗变化的图像,产生主要是由于单个距离分辨单元中包含多个目标,结果多个信号相加生成随机的信号幅度和相位,主要抑制相干斑的方法
- specle降噪
线检测 图像空间——》参数空间,对图像中的任一点对应参数空间的直线(y =k*x+b),因此需要看任意多少点对于的直线相交于一点。实际中为解决y =c,k=inf的问题,使用 p =x*cos(theta)+y*sin(theta)
在p-theta中形成一个曲线。
视频压缩,就是在某个基上变换后得到比较简单的向量比如[1,0,0],得到更多的0,或者近似零,我想压缩感知也是这样的,值认为它是稀疏的,大部分都是零的,有一个基变换中,只取某几个。
直方图特点:计算量比较小,直方图反映的是图像像素灰度值的概率分布,
原理:为了改善图像过亮或者过暗,得到图像的理想整体对比度(1/n),通过符合求导的逆推,得到要用积分图像。
优点:适用于图像过亮或者过暗,尤其对于X光图像中更好的骨骼结构
缺点:对处理的数据不加选择,它可能会增加背景杂讯的对比度并且降低有用信号的对比度。
matlab实现:histeq函数。
直方图本身反映了,各个灰阶的像素的数量,把一幅图像像素看成是一个小球,而像素的灰度看成小球的大小。而灰级就是256个大小从小到大排列的篮子。然后按照顺序把每一个像数按照大小放入合适的篮子里。每个篮子里小球的个数,再除以总数,这样就形成直方图。但是通过直方图发现,小图分布的不均匀。 那么如何算是均匀呢,当然是根据能力与出身了。例如篮子大小当做出身。也就是从小到大的顺序不能变,不管我有多少小球。但是我的灰度又要能体现数量的多少。数量越多,灰度级越大。能同时满足这两个要求。就是要利用概率密度了。这样的结果是首尾的值是不会变的。最小值还是最小值。最大值还是最大值。最小值再加上最小值与当值之间密度差值。
直方图拉伸和均衡 这里有一个直方图拉伸和均衡的关系,可以看到均衡是拉伸方法的特殊情况,另外可以看到因为增加了对比度,所以都会出现对比度增加的好处,但是这样的话,同时也可能把北京增加了,通过`图像增强1:对比度增强与直方图变换
` OPenCV直方图均衡化
所以直方图均衡化只改变宽度,不改变形状。同时我们也指定均衡化的宽度。
imagemagick 是一个超强的库,并且指命令行接口异常的强大,基本上图片处理,画图功能它都已经提供了。可以说是一个cli版的GIMP。 同时它又像其他的linux工具一样,它的功能一种是在编译时通过各种宏来指定。另一种方式那就是采用配置文件。并且采用一定的搜索算法。最先开始在当前文件夹下.magick文件开始。从了一些正常的参数之外,还可以通过+define指定的那些隐性的参数。并且用identify 命令可以读取也可以添加各种的`元数据到图片中
计算存储图片两种方式一种是矢量图,它是由一些基本的图元组成,这些图元都是可以有基本数学方程。这样可以数学方程进行放大与缩小这个就是SVG它可以用XML等直接传递,只需要一些特征点。而opengl也采用的这种方式,不同的是采用有限元法来表示各种图形,但是在显示的时候,最终还是还要像素上光栅化的。这就像另一些图,直接就是利用点阵图来表示。opengl可以说这种方式的结合。 并且opengl顶点与最后屏幕点还是不一样的。先连线,然后逐行扫描的。
光栅化的后反矩齿。就是把中界点用半透明化。
一些美学原理是在以及各种颜色空间都在[[Study.ColorTransform]]。在这里只提到在计算机中,颜色的深度的问题,就是指你用几位来表示一种颜色。同时也还有一个采用量化的过程。其中之一多少个像素点代表真实的一个点。这个是采用率的问题,这个图放大与缩小的时候,会采用到,例如缩放时是直接按点踩,还是说几个点中取中值,还是如何。这个在opengl的光栅化时也同样有这样的问题,在光栅化之本身只有顶点数据的,内部的尺寸大小不同时与纹理的映射关系其实就是采样的过程。你可以指定取最大值,取最小值,或者采用滤波的方式来设置都是可以的。以及颜色本身减少压缩也是这样的。 文件本身存储的字节序的问题在这里都是可以指定所修改的。
并且imagemagick还支持批处理。 通过对imagemagick的学习,对于图像本质有了更深的认识。同时对于各种图片存储方式也有更深的认识。总之一点那就是矩阵式结构不变的。改变的一个像素点有多少个通道。每一个通道需要多少位来表示。所谓压缩不压缩也是指的这些。但是JPEG是如何达到压缩目的呢。是把点给扔了,把细节的地方点多一些。但是如何来保证像素数,扔掉的像素点是不是要拟合出来,并且还标记出来,哪些点是需要拟合的
在图像与图形的处理过程中两者有时候是不分的,在图像的处理过程中,像素的坐标位置提的不是很多,而在图形的像素点的颜色道是说的少了,更多的是顶点的坐标点。其实每一幅图像都有一个坐标系。要么以顶角为原点要么中心为原点。图像的变换都是这样来的。在建模的时候,就发现各个子系统都会自己的局部坐标系。那个gravity指的就是局部坐标系的原点在哪里。 在图形与图像的处理过程中,并且需要计算整副图像的统计值,然后以这些为初值,进行局部分形处理。一个点的坐标值,颜色值,法向值,切线值,都是很重要的。但是图像与图形的是有区别的,图像的法向以切线是估出来的。而图形则是经过建模精确计算出来的。
对于各种图形都支持一种interlaced 的属性,那就是可以边下载边显示。是文件本身的一种属性,还是某一种图片格式的属性。
ImageMagick提供import进行截屏操作。montage,display,animate批量化的显示,动画的显示与修改.同时进行格式的转化,动画frame的控制 insert/swap/delete/delay/loop,并且能够直接操作.gif中frame.修改顺序。并且还能折分与提取与合成pdf,还能用来破解pdf.。 做和种可视化对比的利用montage 是非常方便的。根据结果生成各种各样对比图片数据。 并且在XWindows中,display可以指定的显示在哪一个窗口,并且还可以设为哪一个窗口的背景,并且还能实时监控图片的变化,vimdot就是这样实现的。但是如指定缩放呢。还是使用montage的方法。
各种动化教程 http://www.imagemagick.org/Usage/anim_basics/ 我的ImageMagick使用心得 使用ImageMagic开发一个照片管理库
compare 比较做的还是比较智能的,直接支持单通道的比较,而不需要先分离然后再比较。并且对于各种特效的变换。例如watermark 添加以及签名以及边框的添加都是高度可定制化与批量化的。另一个那就是图片的隐藏,实现的原理是什么呢,直接进行图片叠加算法,还是只在后面又加了一帧。应该不是又加了不是这种,应该是算法叠加。Steganography composite -stegano 直接转化为噪声隐藏位图的低位。然后再恢复按照固定的函数算法再恢复出来。但是这种方法也会受到图片的裁减的破坏。 是不是可以直接把ASCII码当灰度或者unicode码当做灰度值,然后把文字变成图像,同时也研究一个那个小鸭子是如何实现的。
图片的噪声,有各种各样的模型,如何进行添加与去除。这个是图像复原的一个题目。椒盐噪声与高斯噪声的原理 对于椒盐噪声,为什么非得是极值。在进行模板设计的时候一般都采用奇数矩阵来代替圆形。
高斯函数 | 高斯函数三个参数,均值,方差,还有一个幅度,均值是由谁得出,而方差为什么是指定的。高斯一般用5x5模板 图像真实对比,用小图来进行对比,这样的实现会很有意义 把颜色与看数值直接相结合会更有直接意义,这个方法不错,直接看其灰度值的变化。 | ||||||||
` hmm-kalman-particle-filtering |
|||||||||
-segment | 这个只是从直方图进行分割。 | ||||||||
-shade的 | 光线效果。对于光线的效果是需要三维的,并且需要法向的,二维图像的法向如何进行计算呢。 | ||||||||
-Solarize | ` 曝晒算法 |
||||||||
-spread | 算法,在一个有限的范围内随机跳,采取什么样的随机会不同的效果吗,总体看来在水波下情形 | ||||||||
-sharpen | 虽然都是高斯,取高通,还是低通,就看你用哪一部分,你是用3sigma之内就是低通,3sigma之外就是高通了 | ||||||||
-Swirl | 旋涡效果 | ||||||||
|
-tint | 这其实也是图像分割的一种 最简单的应用,在过滤的时候会非常的方便 | threashold用的最大值,level用的最小值,其实就是直方图的输出 | -tint 是调整各个分量的多少 | -modulate 用的是HSV模型,而前面两个用的是RGB模型 | ||||
-unsharp | 去除模糊,其实锐化的工具 | ||||||||
-wave | 要么横向,要么纵向,能不能径向 | ||||||||
-virtual pixel | 是不是利用多点来表示一点,具体还不太明白 | ||||||||
roll | 自身左右循环移位与上下循环移位 | ||||||||
-append | 就像字符串拼接一样,把图片接在一起 | 自动去改文件头 | 并且能够指定边框,背景 | ||||||
-average | -fatten | 把多张图,叠加起,点对点按照不同的规则,就像两张的加减一样 | |||||||
-affinite | 二维的变换矩阵,但是一个问题,那就是坐标原点在哪里 |
颜色格式可以直接使用名子例如red,black,等也可以使用HTML#XXXXXX格式,也可以使用RGB格式。 画图可以指定大小,xc(xwindow colors),以及背景,方向,以及各种基本的图形,以及填充,边框等,并且能够多次嵌套。
-annotate | 添加注注释 | ||||
-pointsize | 字体大小 | ||||
-stroke | 线条颜色 | ||||
-fill | |||||
-font | |||||
-draw | color 50 | 50 point/replace/foodfill | |||
^ | rectangle | ||||
^ | circle | ||||
^ | text | ||||
^ | Image in/over/out/atop | ||||
composite |
|
||||
-write | 可以保存每一步的中间状态 |
display 命令的用法可以按照slide来播放
Imagemagick中图片大小转换全攻略
像素是离散化后的强度值。 512*512 是什么?
饱和就是我们不能同时看到超过范围的图像。饱和和人眼的原理是一样的。
离散化的精度影响 分辨率。floor(value/2)*2, 这里的2就是下采样系数。
如何表示一个图像,用点阵,用矢量。如何一幅图像中找到对应的矢量描述呢。解决了描述问题了,后面就成了一个通用的数学问题。
是不是可以用分形的去描述一个图像呢,把分形当做一个基,然后合成图片上内容。目前还没有找到一个完美的表示方法,对于每一种特定类型图像对象,我们总是能找到一分类方法的进行分类表示的。
按照一定的次序连接边界线。这个与模型的建模表示有什么区别。 多边形近似 | 最小周长多边形,聚合与拆分 能不不能分形来表示呢 |
标记图 ,每一个子图都有自己的中心原点,对于物理图形来说,一般用重心来做原点 , 边界线段 , 骨架 , 形状数,例如欧拉拓扑公式, 复数序列的傅里叶变换来表示。, 统计矩 , 拓扑学 ,
主分量法 ,其实就是特征值与特征向量的方法 ,关系描述 ,也就相当于PCM差分编码的方法 ,
G=F*H+N 还是G=H(F+N) 还是只有N,还是只有H,处理方法都是不样的。主要需要考虑的因素有 #. N是不是可分离的 #. H 是不是可以逆的,一个是指数学上,一个是指实践的处理对象上。 #.
只有 G=F+N | 并且N在唯一空间的,或者N的频谱明显与原图的频谱有距离,这一种是最简单的,只需要简单的高通,低通,带通,在二维还有多带通。 | 例如常规的,中值,均值,最大值,最小值,另外掩码的尺寸也是重要的因素在处理效果上 |
用直方图来做参考太粗糙了,用等高图会更高直观,亮度变成高度,会加直观。并且会带有位置信息。 噪声的估计 #. 其中一种是基于直方图对澡声进行估计,利用基准图像来进行测试的。 #. 还有一种那就是根据傅里变换来进行估计的。 #. 另一种是直接从传感器的技术说明中得知。 最终值,可以基本值来进行测试,例如灰卡拍照进行测试。来得到澡声的图像。例如黑夜,我们一张白纸后面打光进行拍照,得到图片就为澡声了。
退化函数 #. 图像观察估计法 #. 试验估计法。 #. 模型估计法。 同态滤波就属于这种。 建立各种模型来估计退化函数。同样是可以基准图像来进行测试的。 对于张各的图像没有做离里叶变换。做一个傅里变换看看。
噪声产生原因 高斯噪声源于电子电路噪声和低照明度或高温带来的传感器噪声。
椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。椒盐噪声往往由图像切割引起。
加性噪声-》均值滤波方法就好,对于椒盐噪声运用中值滤波,实际中对于复杂噪声,运用阿尔法滤波结合中值滤波和均值滤波,效果更好,而对于周期性噪声(比如电力电子中),则使用带阻滤波器。 对于只有f=g+n 的模型,就是直接之前的滤波器,把n踢掉。自适应的原理无非就是需要全局的期望与方差。
几何变换,其实可以完全通过图形的方法来实现。 最小二乘算法 (least square) =================================
对于函数y =ax, for x是输入图像,a是退化函数,y是输出。 输入w(0)值(近似a的逆运算),得到:
最小二乘,使残差最小
w(1) = aug_y*y
直到 w(i),i=1 ,N小于某个数量级,比如 rn<10e−6 , 停止迭代。 否则更新w
可以根据运动方程来建立模型,然后进行恢复,例如水平运动的基础是运动的距离可以由傅里叶变换的周期性来检测。并且第一旁瓣宽度的关系。图像变换的周期是与物体运动的周期或者对称是相关的。还有那是旋转后的出现的模糊。并且这个要一下实验。水平运动可不可以x,y都有,或者经过旋转到一个方向在进行。 包括水滴消除也是这样进行的。对于车牌检测的就是直接使用逆滤波的结论并且还做了简化,原来的两个方向的,其中做了进一步分析(ua+vb)这个值是多少,它本身就是一个Sar函数相于平移了。
wiener filtering是相对于 inverse filtering 和smooth filtering 的一个折中,目标函数 [ŝ −s]2 最小,最后得出信号的系数(相对于噪声的系数),也就是要知道信号和噪声的方差。但是实际中这个怎样给出?但是并不是wiener filtering 对所有的 退化图像和噪声都有用, 我想还是根据不同的模型,设计不同的方法,学会建模,并且利用数学方程求解。无非就是就极值的问题。
傅里叶变换就是用一些正交基描述一个信号或者一个图像,
问题:从噪声和退化函数中估计原始图像。
对于噪声,可以用低通滤波器,但是这样通常会造成图像的损失,也就是噪声和细节是一对矛盾,
维纳滤波主要解决噪声的问题,对于退化函数,通常是有一定的先验知识。
傅里叶变换应用:对于特定小点,可以通过傅里叶变换来比较。比如眼睛。纹理分类。
点检测一个点的检测,还是一个块检测。点检测简单只要取一个阈值,就例如利用均值,或者别的得到距离值,然后利用这个距离值来进行判断,块检测就要求是一个范围,也首先是连通性的检测。
对于块的检测可以用形态学的方法,但是要就考虑块的大小的问题。可以把那些孤立点消除。
分为在直线,可以用霍夫变换,一般是先通过边界检测,然后再做这些,边界检测可以用一阶或者二阶来做。一阶来解决是不是在边界上,二阶解决在哪些的问题。这里可以用Canny算子。
从整体看,还可以其上颜色值,当做其他值,例如把切成列表下一个坐标。一个RGBA如果是整型的,可以就四个字节,我们四个字节可以存储各种有效的结构信息,把这个原始图像变成一个度量图像,我们可以把关于一个点的各种信息都压缩在另一幅图像中。 可以利用图形的各种知识来进行操作。
区域的生长,分割与合并 分水岭算法,通过通过判定一个区域的中值作为分水区域,对图像进行分割,算子有一阶算子,二阶算子。等等
边界检测可以用过零来检测边界。 边界的连接问题,例如知道了边缘检测的图形之后,我们在模型本身的特点,来确定模板的大小,其实也就是其领域的大小,然后确定周值与这个中心的点关系。然后在这个领域内再计算某些点的特性(例如梯度)与中心点的特性的关系。来决定。 例如大梯度的大小与方向都在一定的范围内就连接起来。当然T值也是自动产生的。
分割分为点线面,检测。检测变换后就变成了基本变成二值图像。只为只有这样容易区分背影与对象本身。就是背景就相当于集合的全集,而子集就相当于对象本身。就要用到一个门限,但是门限分二种,一种是局部动态计算,另外一种是全局的。对于结构简单的图像全局,对于复杂图形用局部分的比较好。
区域的分割,如何知道每个点是属于哪一个区域呢,还是对每一个点对于tag标记呢。 并且区域分割。利用四叉树或者二叉树对区域进行分割。这个就要自定义存储结构了。为什么现在自己经常纠结于存储结构呢。直接链表。就搞定了。
他通过约束边界项和区域项来达到通过能力最小值约束:
其中区域项通过约束概率最大来实现:
边界项通过约束两个不相似的程度来实现:
其中:
通过对初始选定的初始值来作为估计高斯混合模型中几个参数,得到这些参数后,对于这些点就可以进行判断是目标还是背景的概率了, 然后是差异性比较:
算法是利用的物理学中粒子的原理,要对每一个像素点进行计算,计算比较耗时.
图像拼接最重要的是在找到匹配对之后,求转换矩阵。L-K算法通过目标函数是 .. math:: {sumlimits_{{rm{patch}}} {left[ {Ileft( {Wleft( {X;p} right)} right) - Tleft( x right)} right]} ^2},通过对次公式进行泰勒展开, 并对信号进行求进行链式求导:
最后用最小二乘算法实现对p的估计。
图像处理流程
刘青松科研语录
现在明白了,学习金融,利率是根本,所有的变化都是基于这个的,
– Main.GangweiLi - 16 Jun 2012
空间滤波器带来降噪的同时,也会产生图像模糊。
中值滤波器 (medfilt2):降噪。
从空间滤波其中看到,blur使得图像最模糊,然后contour和FIND_EDGES中间正,两边负,可以得到图像的轮廓, SMOOTH和SMOOTH_MORE平滑的越多图像越模糊。SHARPEN可以通过中间正,两边负的,得到图片增强。
在matlab中图像是通过极坐标实现的,现在目前基于smile.jpg的结果是,从小到大变化图像半径和旋转角度, 半径 小->大,呈现图像的顺序嘴巴——》眼睛-》脸庞-》腮红。 这个出来的先后顺序是和这些边缘变化的模糊度有关,模糊度越高,出来的越慢。
旋转的作用那,现在看起来不是很明显。
空域滤波,点检测,线检测
一阶算子方法:和可以实现对于明显的图像实现找到边界, Sobel算子:内部利用局部平均方法,对噪声有一定的抑制作用。
Roberts算子: 检测边缘,对噪声敏感。(实际中使用什么检测特性还不清楚)
Prewitt算子: 采用局部平均,对噪声有一定的抑制作用。
二阶算子方法:能够更加清楚的找到边界,但是二阶算子对噪声比较敏感,因此首先的方法是首先进行平均降噪。
Laplace 算子: 具有各项同性微分算子,具有`旋转不变性
空域滤波,点检测,线检测。
DFT就像一个[[http://wenku.baidu.com/view/014797737fd5360cba1adbed.html[数学显微镜]] 频域滤波最终也要转换为空域处理。 #. 一个不错介绍
频域图能看出来什么,二维的频谱图与一维的有什么区别。从图像的频谱中能看到什么。变换前后的坐标与图有什么对应关系。进行卷积,进行子图识别,卷积最大的那个值,那就是图像重合的中心位置。时域的卷积等于频域的相乘。能否找到相关性最大的那个值。 子图的搜索也是基于此相关与卷积的 . 这个时候先计算好两处图处DFT图,另外一个功能那就类似于积分图像的应用。
频域变化之后,的图像应该是三维的Sa函数。通过三维的高度来看比二维的颜色更加直观。并且可以取任意的细节利用带组,根据频域图的三维高度分度来进行提取。但是一个前提那就是你要知道图像中谁在哪一段频域上占着。想成一个三维的图,但是频域分布是圆周型,中心最低,越往边越高。就像水波纹一样。颜色越高说明系数越大。成分比较越大。并且频域与空域的点与点的距离是有对应的关系。
各种滤波器的设计,高通,低通,带通,完全可以利用图像来实现。频域的矩形滤波直接用阈值图像就可以搞定。渐变的频域图就像是曲线滤波了,例如巴特沃斯滤波器。等等。用在频域上试一试。那些数字滤器例如汉宁窗等等哪些能用到图像上。
一切都通了,频域的原点经过shift变在中间(M/2,N/2)。截止频率距离中间的距离,至于中间渐变颜色是根据滤波器来的,例如高斯。截止频率就是方差的大小。那期望如何来定呢。还是说只能是中心点的值。 现在要看看GIMP的渐变是如何实现,轴像与径向。是不是利用极坐标。然后按照函数值进赋值。
对于相关性与卷积,并且利用同样大小频域图来进行相乘。有一个周期截断的问题,那就需要扩展与截图了。
对于推导无非那些矩阵与求导的一些符号运算。积分,微分,卷积。矩阵的逆变换等等。这些基本知识。 #. numpy.fft.fft2 这个库里一维,二维,多维,同时还可以提到一个序列采用频率。同时还有hfft,因为如果是纯实信号的FFT就是`hermitian transorm
- fftw3-dev GPL 库,并且支持 ARM NEON,作为以后移植方便。并且[[http://gfourier.sourceforge.net/ fftw 可以直接用到GIMP GFourier]]
拉普拉斯算子二阶导数增强细节,sobel算子边缘。
对于小图像用mask不合适,因为会有模糊,那用什么方法合适那?mask尺寸和物体尺寸的关系。
怎样实现调用C代码?
C:快盘graphicpaper1673-2944(2012)03-0022-05.pdf 基于DFT压缩。
如果我在较暗的情况下整体加上一个数的话,图像图像整体变量了,但还是对比度不高,
python 中怎样plt.axes 怎样调节参数
雷达数据 到成像 过程
– Main.GegeZhang - 27 Jul 2013
雷达散射特性,前向散射,后向散射?什么联系,为什么在机场的时候前向比较明显,前向散射是比后向散射明显。
雷达RCS曲线 中可以看出来机头,机尾 和两边机翼都比较明显
*对一维到二维一直推广,其实是假定了,图像线性时不变系统。所以先算行或者例都是没有关系。这是由于线性系统自身性质决定的。