我对CV模型的理解1
来源:互联网 发布:安知玉如意txt久久 编辑:程序博客网 时间:2024/05/19 23:17
首先,CV模型是基于区域的水平集,没有涉及到边缘(简单通俗的说是没有边缘监测函数g)。理论部分参考的博士论文。
因此,将其最小化,便可以得到目标物体的边界。
某文章所说,为了保证水平集数值解法的稳定性,水平集函数在演化过程中需要周期性地初始化为符号距离函数。
符号距离函数,也很好理解,也就是自己根据原图像大小,初始化的一个矩阵。通常取圆,半径自己设定。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
我对其代码的理解。
首先读入图片,phi=sdf2circle(nrow,ncol,ic,jc,r); //初始化为符号距离函数。
phi=evolution_CVPDE(I,phi,mu,nu,lambda_1,lambda_2,delta_t,epsilon); //水平集函数公式的演化。
phi=phi0;%对水平集函数处理。
phi=NeumannBoundCond(phi);%纽曼边界,处理边界。
delta_h=Delta(phi,epsilon);%狄拉克函数。 对水平集函数进行处理。
K = curvature(phi); %计算曲率,也是对水平集函数的处理。
[C1,C2]=binaryfit(phi,I,epsilon);
C1、C2的计算需要用到海氏函数。海氏函数对于初始化水平集轮廓的外部为1(接近,也可为接近0),内部为0(接近,也可为接近1)。
分别计算内部和外部的平均灰度值。
进行第一次演化。得到的水平集函数进入第二次演化。
再是对水平集函数的处理。
因为水平集函数与图像U有对应的位置,在计算C1、C2的时候也海氏函数有很好的特性。
其终止条件是以迭代次数的终止而终止(也有可能在迭代次数之前能量达到最小化之后就不再演化了)。
% updating the phi function
phi=phi+delta_t*delta_h.*(mu*K-nu-lambda_1*(I-C1).^2+lambda_2*(I-C2).^2); %能量函数公式
- 我对CV模型的理解1
- 我对Java内存模型的理解
- 我对主题模型的理解
- 我对C++11内存模型的一点理解(附面经)
- 聊聊我对Java内存模型的理解
- 聊聊我对Java内存模型的理解
- 我对 CSS 流动模型 浮动模型 层模型 的理解
- 对语句 cv::Point2f srcPoint[3];的理解~
- 我的CV路
- 对MapReduce模型的理解
- 我对return 语句的理解----1
- 我理解的设计模型
- 我对SOA的理解我对SOA的理解
- 我对COM的理解
- 我对事件的理解
- 我对SOA的理解
- 我对SOA的理解
- 我对SOA的理解
- [] 重置表单class ng-dirty
- 【python-tips】非root权限安装pip、其他包
- 关于在maven中 遇到maven不加载的问题
- 使用 Sonar 进行代码质量管理
- J2SE知识点总结 1
- 我对CV模型的理解1
- CodeVS1380 没有上司的舞会 解题报告【树形DP】
- SpringMVC如何处理JSON数据和运行流程
- 利用cxf3.14+spring4.2发布webservice
- SDIO总线协议
- 使用nginx和uWSGI搭建Django网站
- P1308 统计单词数
- [kuangbin带你飞]专题一 简单搜索 A
- Libvirt命令参数详解