图像的直线拟合算法中如何去掉噪声点

君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
Hyperion遥感影像噪声去除方法研究
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口空间观测图像宇宙线噪声去除算法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
空间观测图像宇宙线噪声去除算法
上传于||暂无简介
阅读已结束,如果下载本文需要使用5下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢2648人阅读
Ransac算法
1、算法简介
随机抽样一致算法(RANdom SAmple Consensus,RANSAC)。它是一种迭代的方法,用来在一组包含离群的被观测数据中估算出数学模型的参数。 RANSAC是一个非确定性算法,在某种意义上说,它会产生一个在一定概率下合理的结果,其允许使用更多次的迭代来使其概率增加。此RANSAC算法在1981年由Fischler和Bolles首次提出。
RANSAC的基本假设是 “内群”数据可以通过几组模型参数来叙述其数据分布,而“离群”数据则是不适合模型化的数据。 数据会受噪声影响,噪声指的是离群,例如从极端的噪声或错误解释有关数据的测量或不正确的假设。 RANSAC假定,给定一组(通常很小)的内群,存在一个程序,这个程序可以估算最佳解释或最适用于这一数据模型的参数。
这里用一个简单的例子来说明,在一组数据点中找到一条最适合的线。 假设,此有一组集合包含了内群以及离群,其中内群为可以被拟合到线段上的点,而离群则是无法被拟合的点。如果我们用简单的最小平方法来找此线,我们将无法得到一条适合于内群的线,因为最小平方法会受离群影响而影响其结果。而RANSAC,可以只由内群来计算出模型,而且概率还够高。 然而,RANSAC无法保证结果一定最好,所以必须小心选择参数,使其能有足够的概率。
在数据中随机选择几个点设定为内群计算适合内群的模型把其它刚才没选到的点带入刚才建立的模型中,计算是否为内群记下内群数量重复以上步骤多做几次比较哪次计算中内群数量最多,内群最多的那次所建的模型就是我们所要求的解这里有几个问题一开始的时候我们要随机选择多少点(n)以及要重复做多少次(k)
4、参数确定
假设每个点时真正内群的概率为 w
w = 内群的数目/(内群数目+外群数目)
通常我们不知道 w 是多少, w^n是所选择的n个点都是内群的机率, 1-w^n 是所选择的n个点至少有一个不是内群的机率, (1 - w^n)^k 是表示重复 k 次都没有全部的n个点都是内群的机率, 这边定算法跑 k 次以后成功的机率是p,那么,
1 - p = (1 - w^n)^k
p = 1 - (1 - w^n)^k
所以如果希望成功机率高,p = 0.99, 当n不变时,k越大,p越大, 当w不变时,n越大,所需的k就越大, 通常w未知,所以n 选小一点比较好。
RANSAC常被用在电脑视觉 ,例如,对应点问题 和 估算立体摄影机双眼相对点的基本矩阵。
6、C实现源码
float Ransac
Point2D32f* points,
size_t Cnt,
float *line,
int numForEstimate,
float successProbability,
float maxOutliersPercentage
//1 - p = (1 - w^n)^k
//float outlierPercentage = maxOutliersP//估计值
float numerator = log(1.0f-successProbability);
float denominator = log(1.0f- pow(1.0-maxOutliersPercentage, numForEstimate));
//随机抽取一定比例的点
int ransac_times = (int)(numerator/denominator + 0.5);
printf(&ransac_times: %d\n&, ransac_times);
int numDataObjects = C
//int numForEstimate = Cnt*0.1;
int maxVoteCnt = 0;
float tempLine[4];
float inliersPercentage = 0.0;
int *Chosen = new int[numDataObjects];
Point2D32f *subPoints = new Point2D32f[numForEstimate];
int pointCnt = 0;
int voteCnt = 0;
for(int i = 0; i & ransac_ i++)
//随机抽取
//randomly select data for exact model fit ('numForEstimate' objects).
memset(Chosen,0,numDataObjects*sizeof(int));
int maxIndex = numDataObjects-1;
for(int j = 0; j & numForE j++)
int selectedIndex = rand() % numDataO
Chosen[selectedIndex] = 1;
pointCnt = 0;
for(int k = 0; k & numDataO k++)
if(Chosen[k])
subPoints[pointCnt].x = points[k].x;
subPoints[pointCnt].y = points[k].y;
pointCnt++;
FitLine2D(subPoints, pointCnt, tempLine);
float a = tempLine[1]/tempLine[0];
float b = tempLine[3] - a*tempLine[2];
//拟合完整之后要对拟合的结果进行鉴定,选出最优的结果
voteCnt = 0;
for(int k = 0; k & C k++)
//如果在直线上或者附近
if(abs(points[k].y - a*points[k].x - b) & 2)
voteCnt++;
if(voteCnt & maxVoteCnt)
maxVoteCnt = voteC
inliersPercentage = (float)maxVoteCnt/C
printf(&a: %f\tb%f\tpercent: %f\n&, a, b, inliersPercentage);
for(int m = 0; m & 4; m++)
line[m] = tempLine[m];
//当inliers的比例比较高的时候就可以直接取该值作为最优解
if(inliersPercentage & 0.2)
return inliersP
return inliersP
RANSAC的优点是它能鲁棒的估计模型参数。例如,它能从包含大量局外点的数据集中估计出高精度的参数。RANSAC的缺点是它计算参数的迭代次数没有上限;如果设置迭代次数的上限,得到的结果可能不是最优的结果,甚至可能得到错误的结果。RANSAC只有一定的概率得到可信的模型,概率与迭代次数成正比。RANSAC的另一个缺点是它要求设置跟问题相关的阀值。
RANSAC只能从特定的数据集中估计出一个模型,如果存在两个(或多个)模型,RANSAC不能找到别的模型。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:206095次
积分:3236
积分:3236
排名:第7433名
原创:86篇
评论:197条
阅读:30458
(5)(5)(6)(5)(3)(7)(6)(7)(2)(11)(7)(4)(12)(6)(1)君,已阅读到文档的结尾了呢~~
曲面拟合法在图像去噪中的应用,图像处理 曲面拟合,曲面拟合法,ug 图像投影到曲面,图像投影到曲面,图像 曲面 文字 提取,曲面拟合,matlab曲面拟合,matlab三维曲面拟合,matlab曲面拟合工具箱
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
曲面拟合法在图像去噪中的应用
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口基于Savitzky_Golay算法的图像平滑去噪_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于Savitzky_Golay算法的图像平滑去噪
上传于||文档简介
&&S​G​平​滑​滤​波
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 opencv 直线拟合 的文章

 

随机推荐