Matlab
关于Matlab学习的点滴记录
聚沙塔
这个作者很懒,什么都没留下…
展开
-
Retinex系列之Frankle-McCann Retinex
一、Frankle-McCann RetinexFrankle-McCann算法选择一条螺旋结构的路径用于像素间的比较。如下图,算法沿着螺旋路径选取用于比较像素点,这种路径选择包含了整个图像的全局明暗关系。并且越靠近预测中心点选取的点数越多,因为靠的近的像素点与中心像素点的相关性要比远处的高。此迭代方案基于成对像素亮度值间的互动,这一像素对在图像中的坐标(x,y)、(xs,ys)。第一原创 2014-12-01 21:52:32 · 6854 阅读 · 3 评论 -
Retinex系列之McCann99 Retinex
一、McCann99 RetinexMcCann99利用金字塔模型建立对图像的多分辨率描述,自顶向下逐层迭代,提高增强效率。对输入图像的长宽有严格的限制,要求可表示成 ,且 ,。上述限制来源于金字塔模型的结构要求,由于要对输入图像进行下采样,金字塔中上层低分辨率图像的宽分别为下层高分辨率图像的1/2,顶层(第n层)大小为,底层(第0层)为原图像。金字塔结构如下图所示。McCan原创 2014-12-03 11:27:48 · 4647 阅读 · 2 评论 -
灰度世界算法(Gray World Algorithm)
人的视觉系统具有颜色恒常性,能从变化的光照环境和成像条件下获取物体表面颜色的不变特性,但成像设备不具有这样的调节功能,不同的光照环境会导致采集的图像颜色与真实颜色存在一定程度的偏差,需要选择合适的颜色平衡(校正)算法,消除光照环境对颜色显现的影响。灰度世界算法是最常用平衡算法。一、灰度世界算法灰度世界算法以灰度世界假设为基础,该假设认为:对于一幅有着大量色彩变化的图像,,三个分量的原创 2014-12-07 18:40:35 · 17285 阅读 · 0 评论 -
Matlab调用C程序
Matlab是矩阵语言,如果运算可以用矩阵实现,其运算速度非常快。但若运算中涉及到大量循环,Matlab的速度令人难以忍受的。当必须使用for循环且找不到对应的矩阵运算来等效时,可以将耗时长的函数用C语言实现,并编译成Mex文件,Matlab便可以像调用内建函数一样调用C编写的函数。Mex文件其实是一种动态链接库,旧版本Matlab可以直接调用.dll,新版本要调用.mexw32或.mexw64文原创 2015-01-06 19:18:36 · 22848 阅读 · 3 评论 -
彩色模型
彩色模型(又称彩色空间或彩色系统)是描述色彩的一种方法,本质上,彩色模型就是坐标系统和子空间的规范,系统中的每种颜色由单个点来表示。下面介绍两种最常用的c彩色模型。RGB彩色模型:RGB模型是最通用的面向设备的彩色模型,主要用于彩色显示器和彩色视频摄像机。RGB模型利用了三原色原理,即大多数颜色都可由红、绿、蓝三原色按不同比例混合构成。该模型确定的彩色子空间如下:红、绿、蓝原创 2015-01-08 20:43:51 · 4056 阅读 · 0 评论 -
积分图像
积分图像(integral image)是一种用于快速计算矩形区域和的数据结构,常用它来对耗时算法进行加速。积分图像中点(x,y)处的值是指从灰度图像的左上角与当前点所围成的矩形区域内所有像素点的灰度值之和,即:原创 2015-06-06 10:30:16 · 6123 阅读 · 2 评论 -
积分图像的应用(一):局部标准差
局部标准差在图像处理邻域具有广泛的应用,但是直接计算非常耗时,本文利用积分图像技术对局部标准差进行快速计算。标准差定义如下(采用统计学中的定义,分母为):其中。为了计算图像的局部标准差,首先设定局部区域的大小为 ,则局部区域的像素点个数 。对标准差的公式进行化简:因,故:可以看出,局部标准差计算中需要对图像与进行局部求和操作,即和。原创 2015-06-06 13:31:49 · 8675 阅读 · 2 评论 -
非局部均值去噪(NL-means)
非局部均值(NL-means)是近年来提出的一项新型的去噪技术。该方法充分利用了图像中的冗余信息,在去噪的同时能最大程度地保持图像的细节特征。基本思想是:当前像素的估计值由图像中与它具有相似邻域结构的像素加权平均得到。理论上,该算法需要在整个图像范围内判断像素间的相似度,也就是说,每处理一个像素点时,都要计算它与图像中所有像素点间的相似度。但是考虑到效率问题,实现的时候,会设定两个固定大小的窗口:...原创 2015-09-06 15:17:02 · 44798 阅读 · 41 评论 -
积分图像的应用(二):非局部均值去噪(NL-means)
非局部均值去噪(NL-means)一文介绍了NL-means基本算法,同时指出了该算法效率低的问题,本文将使用积分图像技术对该算法进行加速。假设图像共像个素点,搜索窗口大小,领域窗口大小, 计算两个矩形邻域间相似度的时间为,对于每个像素点需要计算它与搜索窗口内个像素间的相似度,故NL-means复杂度为 。经过分析可以发现,该算法可以提高之处只有邻域间相似度的计算,即耗时的操作。基原创 2015-09-06 15:18:25 · 20498 阅读 · 16 评论 -
双边滤波
双边滤波是一种非线性滤波器,该算法结合空间信息和亮度相似性对图像进行滤波处理,在平滑滤波的同时能大量保留图像的边缘和细节特征。 定义如下: 其中为输出图像,为输入图像,是以像素点为中心的邻域窗口,为滤波核。双边滤波的滤波核由两部分乘积组成:空域核与值域核。两个滤波核原创 2015-09-25 23:39:32 · 3120 阅读 · 2 评论 -
Zernike矩之图像重建(附源码)
Zernike矩是一种正交矩,由Teague在1980年提出,本文将介绍Zernike矩的基本概念,并使用Zernike矩进行图像重建。原创 2016-01-30 10:07:16 · 6007 阅读 · 1 评论 -
Zernike矩之边缘检测(附源码)
由于Zernike矩是一种积分算子,因此对噪声不敏感,这一优良特性在图像处理中极其难得。下面我们将介绍Zernike矩在边缘检测中的应用。利用Zernike矩进行边缘检测最早由Ghosal等人[4]提出。原创 2016-01-30 10:25:08 · 15521 阅读 · 14 评论 -
Harris角点检测原理及实现
一、原理二、实现close all;clear all;I=imread('test.tif');[posX,posY]=harris(I);figure;imshow(I);hold on; plot(posX, posY, 'g*');function [posX,posY]=harris(I)%Harris角点检测%I:输入图像%posX:角点X坐标原创 2016-06-23 22:00:29 · 5973 阅读 · 4 评论 -
形态学操作实现
数学形态学的基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的。数学形态学的基本运算有四个:腐蚀、膨胀、开和闭。基于这些基本运算还可以推导和组合成各种数学形态学实用算法。本实验分别实现针对二值图像和灰度图像的四种形态学操作。一、二值图像的腐蚀、膨胀、开、闭操作实验结果:二、灰度图像的腐蚀、膨胀、开、闭操作原创 2016-06-23 22:40:25 · 834 阅读 · 0 评论 -
Hu矩
本文介绍了Hu不变矩并给出matlab实现。原创 2016-06-24 11:22:28 · 3654 阅读 · 1 评论 -
SUSAN角点检测
SUSAN是一种角点检测算法,本文首先介绍其基本原理,然后给出实现代码。如下图所示,当一个圆形模板在图像上滑动时,可以利用模板所覆盖区域内像素与中心点处像素灰度值的差异寻找角点。将模板内与中心像素差异小于某个阈值的像素点组成的区域定义为USAN(Univalue Segment Assimilating Nucleus)区域。可以发现,当模板中心处于平坦区域时,USAN面积最大,当模板中心处于边界上时,则USAN面积约为最大值的1/2,当模板中心位于角点处上时,USAN面积约为最大值的1/4。也就是说US原创 2016-06-24 21:22:58 · 1960 阅读 · 2 评论