摘要:
图的相关算法也算是自己的一个软肋了,当年没选修图论也是一大遗憾。 图像处理中,也有使用图论算法作为基础的相关算法,比如图割,这个算法就需要求最大流、最小割。所以熟悉一下图论算法对于图像处理还是很有帮助的。 Dijkstra和Bellman-Ford类似,都是解决单源最短路径问题,不同的是这个方法只能 阅读全文
posted @ 2020-09-10 16:44
一杯清酒邀明月
阅读(618)
评论(0)
推荐(0)
摘要:
如此经典的算法竟一直没有单独的实现过,真是遗憾啊。 广度优先搜索在过去实现的二值图像连通区域标记和prim最小生成树算法时已经无意识的用到了,深度优先搜索倒是没用过。 这次单独的将两个算法实现出来,因为算法本身和图像没什么关系,所以更纯粹些。 广度优先搜索是从某一节点开始,搜索与其线连接的所有节点, 阅读全文
posted @ 2020-09-10 16:42
一杯清酒邀明月
阅读(1693)
评论(0)
推荐(1)
摘要:
算法没有和图像处理直接相关,不过对于图像分类中的模式识别相关算法,也许会用到这个优化算法。 算法步骤: 1.首先确定粒子个数与迭代次数。 2.对每个粒子随机初始化位置与速度。 3.采用如下公式更新每个粒子的位置与速度。 Px=Px+Pv*t; %位置更新公式 Pv=Pv+(c1*rand*(Gx-P 阅读全文
posted @ 2020-09-10 16:41
一杯清酒邀明月
阅读(387)
评论(0)
推荐(0)
摘要:
通过本篇和上一篇的结合,应该就能做出拉普拉斯图像融合了。 这里用的方法很简单,就是用模板和两个图像相乘,然后对处理后的两个图像再相加就可以了。 拉普拉斯融合就是对金字塔的每一层图像做这样的操作,然后再重构就行了。 先看看这里的效果: 原图apple 原图orange: 模板图像(实际处理时需要对模板 阅读全文
posted @ 2020-09-10 16:39
一杯清酒邀明月
阅读(1214)
评论(0)
推荐(0)
摘要:
过去研究过高斯金字塔,不过今天看来,当时似乎搞错了,金字塔上下层应该是采样的关系,而不是缩放的关系,而且不同层的sigma应该也有所不同。 拉普拉斯金字塔在图像融合中有所应用,方法是首先对两个待融合图像求拉普拉斯残差金字塔,然后用模板对每一级残差图像进行融合得到融合后图像的残差金字塔,然后对这个金字 阅读全文
posted @ 2020-09-10 16:38
一杯清酒邀明月
阅读(1027)
评论(0)
推荐(0)
摘要:
RANSAC在图像拼接中有所使用,有时候也在图像理解的相关算法中有所使用。 算法简介如下(摘自《图像处理、分析与机器视觉(第3版)》): 1.假设我们要将n个数据点X={x1,x1,...,xn}拟合为一个由至少m个点决定的模型(m<=n,对于直线,m=2)。(我这里实际是两个不同均值、协方差高斯分 阅读全文
posted @ 2020-09-10 16:37
一杯清酒邀明月
阅读(549)
评论(0)
推荐(0)
摘要:
曾经想要实现过Bertalmio图像修复算法,无奈自身实力不够,耗费两天时间也没能实现。昨天博客上有人问到TV模型,这个模型我过去是没听说过的,于是就找来相关论文研究了一下,发现TV模型也可以用来修复图像,于是就有了想实现的想法。用到的偏微分方程技巧和各项异性扩散很像。 先看看效果吧: 原lena: 阅读全文
posted @ 2020-09-10 16:35
一杯清酒邀明月
阅读(589)
评论(0)
推荐(1)
摘要:
radon变换就是图像在不同方向上的投影。 下图f(x,y)可以代表图像,R(x')就是图像向右下方的投影。 数学上是按投影方向进行线积分,在图像领域就是按照投影方向累加像素就行了。 matlab中有radon函数,为了熟悉原理我又写了一个。 通过旋转图像映射,效率不怎么样。 canny后Lena: 阅读全文
posted @ 2020-09-10 16:33
一杯清酒邀明月
阅读(1871)
评论(0)
推荐(0)
摘要:
普通的直方图就是统计图像中像素灰度出现的次数。 二维直方图的其中一维就是普通的直方图,即统计图像中像素灰度出现的次数。 另一维的概念就比较模糊了,我看很多论文中都是用的当前像素邻域均值灰度出现的次数。按照这个意思,其实用当前像素邻域中值灰度出现的次数也是可以的。或者用什么厉害的算法处理一下,在统计出 阅读全文
posted @ 2020-09-10 16:30
一杯清酒邀明月
阅读(2735)
评论(0)
推荐(0)
摘要:
中值滤波是很经典的算法了。今天看论文又知道还有一种叫自适应中值滤波的算法RAMF。 RAMF主要通过以下两步来处理图像。 1.首先确定最大的滤波半径,然后用一个合适的半径r对图像进行滤波。计算当前滤波半径像素灰度的Imin,Imax,Imed,然后判断Imed是否在[Imin,Imax]中间,如果在 阅读全文
posted @ 2020-09-10 16:29
一杯清酒邀明月
阅读(1742)
评论(1)
推荐(1)
摘要:
目标内边界的像素全都在目标里面,目标外边界的像素全都不在目标上,是包围着目标的。 二值图像内外边界的计算都是有两种方法的,所以一共是4种算法,不过实际用到跟踪的只有一个而已。 首先是内边界跟踪: 第一种方法不是跟踪方法。步骤是先对原图像腐蚀,然后用原图像减去腐蚀后的图像就得到边界了。 第二种方法是跟 阅读全文
posted @ 2020-09-10 16:28
一杯清酒邀明月
阅读(1050)
评论(0)
推荐(0)
摘要:
主要是用来平滑图像的,克服了高斯模糊的缺陷,各向异性扩散在平滑图像时是保留图像边缘的(和双边滤波很像)。 通常我们有将图像看作矩阵的,看作图的,看作随机过程的,记得过去还有看作力场的。 这次新鲜,将图像看作热量场了。每个像素看作热流,根据当前像素和周围像素的关系,来确定是否要向周围扩散。比如某个邻域 阅读全文
posted @ 2020-09-10 16:25
一杯清酒邀明月
阅读(351)
评论(0)
推荐(0)
摘要:
很多算法都用到了这个矩阵,比如Hessian affine region detector、SURF,虽然这些算法我还没有完全搞透,不过那都是后话,先把这个矩阵搞出来再说,学习是不断迭代的过程。 整个矩阵的形成主要由四部分公式决定: g(x,y)就是高斯函数了,没啥可说的: 对高斯函数的x和y分别求 阅读全文
posted @ 2020-09-10 16:24
一杯清酒邀明月
阅读(1712)
评论(0)
推荐(0)
摘要:
今天在看局部熵方面的内容,看论文中介绍的内容感觉局部熵挺容易了,于是就有了实现的想法,结果效果非常糟糕。 得到的几乎是一张空白的图片,就像下面一样: 究其原因是各种论文上都写了这样一个公式: 这里f(i,j)就是在m*n这个局部的像素,这个没问题,不过这里的p是什么东西,按这里的定义p是当前像素灰度 阅读全文
posted @ 2020-09-10 16:23
一杯清酒邀明月
阅读(1500)
评论(1)
推荐(1)
摘要:
老物了,网上的例子多的数不过来。不过我还是有必要练习一下的。 之所以看这个算法是因为最近在看颜色聚合向量时,有的论文用到了最小生成树,因此我就拿来熟悉一下。 Kruskal算法类似于连通分支算法,感觉和过去实现过的连通区域标记算法非常像。 步骤: 1.对于一个图,将图的每条边提取出来从小到大进行排序 阅读全文
posted @ 2020-09-10 16:21
一杯清酒邀明月
阅读(846)
评论(0)
推荐(0)
摘要:
一种图像特征的提取算法。 算法步骤: 1.用3*3的模板对图像每个像素进行处理,比较当前像素和周围像素的大小,将大于当前像素的置1,小于的置0。 2.对这周围八个像素进行编码,这八个0和1正好是可以组成一个byte数,然后按一定的规则组成这个无符号数。 3.把这个数赋值给当前像素。 4.通常对处理后 阅读全文
posted @ 2020-09-10 16:20
一杯清酒邀明月
阅读(544)
评论(0)
推荐(0)
摘要:
K最邻近密度估计技术是一种分类方法,不是聚类方法。 不是最优方法,实践中比较流行。 通俗但不一定易懂的规则是: 1.计算待分类数据和不同类中每一个数据的距离(欧氏或马氏)。 2.选出最小的前K数据个距离,这里用到选择排序法。 3.对比这前K个距离,找出K个数据中包含最多的是那个类的数据,即为待分类数 阅读全文
posted @ 2020-09-10 16:19
一杯清酒邀明月
阅读(700)
评论(0)
推荐(0)
摘要:
这里的环境是windows7+vs2010+matlabR2010b 上一篇是通过engine来调用matlab中的语句,本篇是通过调用m文件编译成的h/lib/dll文件而实现的。 首先写一个函数mysvd.m: 1 function [s v d]=mysvd(a) 2 [s v d]=svd( 阅读全文
posted @ 2020-09-10 16:18
一杯清酒邀明月
阅读(886)
评论(0)
推荐(0)
摘要:
早知道有向图和无向图差别没有想象中的大我就写到一起了。 函数中使用的arrow画箭头函数是在这个网站下的。 1 %函数名netplot 2 %使用方法输入请help netplot 3 %无返回值 4 %函数只能处理有向图 5 %作者:tiandsp 6 %最后修改:2012.12.26 7 fun 阅读全文
posted @ 2020-09-10 16:16
一杯清酒邀明月
阅读(1520)
评论(0)
推荐(0)
摘要:
寝室有一个是做网络的,需要把矩阵变为网络图使其形象一点,所以我在这里就写了这样一个函数。 功能是将邻接矩阵或关联矩阵变为网络图,不过我这里只能转换为无向图,有向图的箭头我还需要在研究一下,似乎有annotation函数可以调用。 1 %函数名netplot 2 %使用方法输入请help netplo 阅读全文
posted @ 2020-09-10 16:15
一杯清酒邀明月
阅读(900)
评论(0)
推荐(0)
浙公网安备 33010602011771号