1 / 119
文档名称:

目录 核心算法 . CANDY边缘检测算法 . 椭圆曲线拟合算法.docx

格式:docx   大小:124KB   页数:119页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

目录 核心算法 . CANDY边缘检测算法 . 椭圆曲线拟合算法.docx

上传人:xinsheng2008 2018/7/10 文件大小:124 KB

下载得到文件列表

目录 核心算法 . CANDY边缘检测算法 . 椭圆曲线拟合算法.docx

文档介绍

文档介绍:目录
1 核心算法 1
Candy边缘检测算法 1
椭圆曲线拟合算法 14
距离变换算法 17
Hough变换算法 20
双眼立体成像设计 23
3DView类 23
DepthMapView类 38
DetailFormView类 46
ControlFormView类 49
ImageDispView类 57
position类 61
MathExt类 65
Maxflow类 72
StereoDoc类 84
StereoView类 89
Graph类 95
ArcBall类 96
UsefulSplitterWnd类 100
MainFrm类 113
核心算法
Candy边缘检测算法

(1)图像边缘检测必须满足两个条件:
能有效地抑制噪声;
必须尽量精确确定边缘的位置。
(2)根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是Canny边缘检测算子。
(3)类似与Marr(Log)边缘检测方法,也属于先平滑后求导数的方法。

step1:用高斯滤波器平滑图像;
step2:用一阶偏导的有限差分来计算梯度的幅值和方向;
step3:对梯度幅值进行非极大值抑制;
step4:用双阈值算法检测和连接边缘。

step1:高斯平滑函数
step3:非极大值抑制
仅仅得到全局的梯度并不足以确定边缘,因此为确定边缘,必须保留局部梯度最大的点,而抑制非极大值。(non-maxima suppression, NMS)
解决方法:利用梯度的方向。
图2非极大值抑制
四个扇区的标号为0到3,对应3*3邻域的四种可能组合。
在每一点上,邻域的中心象素M与沿着梯度线的两个象素相比。如果M的梯度值不比沿梯度线的两个相邻象素梯度值大,则令M=0。
即:
step4:阈值化
减少假边缘段数量的典型方法是对N[i,j]使用一个阈值。将低于阈值的所有值赋零值。但问题是如何选取阈值?
解决方法:双阈值算法。
双阈值算法对非极大值抑制图像作用两个阈值τ1和τ2,且2τ1≈τ2,从而可以得到两个阈值边缘图像N1[i, j]和N2[i,j]。由于N2[i,j]使用高阈值得到,因而含有很少的假边缘,但有间断(不闭合)。双阈值法要在N2[i,j]中把边缘连接成轮廓,当到达轮廓的端点时,该算法就在
N1[i, j]的8邻点位置寻找可以连接到轮廓上的边缘,这样,算法不断地在N1[i, j]中收集边缘,直到将N2[i, j]连接起来为止。
Candy边缘检测算法
void CreatGauss(double sigma, double **pdKernel, int *pnWidowSize);
void GaussianSmooth(SIZE sz, LPBYTE pGray, LPBYTE pResult, double sigma);
void Grad(SIZE sz, LPBYTE pGray, int *pGradX, int *pGradY, int *pMag);
void NonmaxSuppress(int *pMag, int *pGradX, int *pGradY, SIZE sz, LPBYTE pNSRst);
void EstimateThreshold(int *pMag, SIZE sz, int *pThrHigh, int *pThrLow, LPBYTE pGray,
double dRatHigh, double dRatLow);
void Hysteresis(int *pMag, SIZE sz, double dRatLow, double dRatHigh, LPBYTE pResult);
void TraceEdge(int y, int x, int nThrLow, LPBYTE pResult, int *pMag, SIZE sz);
void Canny(LPBYTE pGray, SIZE sz, double sigma, double dRatLow,
double dRatHigh, LPBYTE pResult);
#include ""
#include ""
#include ""
// 一维高斯分布函数,用于平滑函数中生成的高斯滤波系数