登录
首页 » Others » snake活动轮廓边界提取源码

snake活动轮廓边界提取源码

于 2020-11-27 发布
0 290
下载积分: 1 下载次数: 1

代码说明:

matlab轮廓提取代码,主要用于医学图像轮廓的提取。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • NSGA多目标遗传算法
    NSGA c++代码,效率比较高,求解结果比较精确
    2020-12-07下载
    积分:1
  • mnist_uint8.mat用于MATLAB实现CNN网络的手写识别
    mnist_uint8.mat用于MATLAB实现CNN网络的手写识别,可以直接读取
    2020-12-09下载
    积分:1
  • Matlab实现LSB信息的隐藏与提取
    Matlab编程实现LSB信息的隐藏与提取
    2020-12-10下载
    积分:1
  • 基于模糊算法的移动机器人路径规划
    一种基于模糊算法的移动机器人路径规划策略. 利用超声波传感器对环境进行探测, 得到关于障碍物和目标的信息. 运用模糊推理将障碍位置信息与目标位置信息模糊化,建立模糊规则并解模糊最终使机器人可以很好的避障,从而实现了移动机器人的路径规划。第4期陈卫东:基于模糊算法的移动机器人路径规划按照同样的方法,可以建立起多种条件下的控制规则的合成隶属度结果规则.类似于这样的控制规则可归纳总结为很多条.在模糊控制规则的制定上采用基于控制器行为特性的方NB NSPS PBNBSPS PBA0.7式,将动作分为若干基本行为,复杂的行为可由几个简0.303X)嬷单行为按次序构成,可简化模糊控制规则的确定,并可10-5减少模糊控制规则的数目,避开被控对象的特性建模cmis-10-510 cm/s(a)左轮加速度b)右轮加速度3.4模糊推理图8左右轮合成隶属度函数模糊推理是模糊控制器的核心,它具有模拟人的3.5解模糊基于模糊概念的推理能力,该推理过程是基于模糊逻通过模糊推理得到的结果是一个模糊集合.但在辑中的蕴含关系及推理规则来进行的由模糊规则推实际模糊控制中,必须要有一个确定值才能控制或驱理出输岀量的隶属度根据 Mamdani模糊推理方法求取动执行机构.将模糊推理结果转化为精确值的过程称模糊关系矩阵0为解模糊.所以,解模糊的作用是将模糊集合映射为为了说明模糊推理控制器的工作过程,这里以机个确定的点.也就是把上面推理合成得到的左右轮加器人在FD=105cm;ID=117cm;RD=40cm;θ=45deg;υ速度模糊集合转化为一个精确值来控制机器人的运=3.5cm/s的状态为例来说明推理决策的过程.査询数动解模糊方法的选择与隶属度函数形状的选择、推理据库中的规则,此状态下的模糊规则为表格中的第5、方法的选择相关. MATLAB提供5种解模糊方法:面积6、11和12.由模糊规则的推理与合成(取极小,取极大)重心法、面积等分法、平均最大隶属度法、最大隶属度得到输出的隶属度如下取小法和最大隶属度取大法.本文仿真采用的重心第五个规则推理结果法.这种方法也称为质心法或面积中心法,是所有解模糊化方法中最为合理、最流行和引人关注的方法.该方NB NS 1Z PS PBNB NS 1ZPSPB法的数学表达式是0.3031p1(a)d(a1)10 cm/s2左轮加速度2)ALaI(a)左轮加速度b)右轮加速度图4规则5推理的左右轮合成隶属度函数第六规则推理结果:ar uR(ar)d(a,)右轮加速度=(3)NB NS IZ PS PBNB NSPS PB式中,表示输出模糊子集所有元素的隶属度值在连续0.20.2论域上的代数积分,而加速度的取值是表示其左右两0m/s2-10-5cn边的面积为相等.该方法计算复杂,但它包含了输出模(a)左轮加速度(b)右轮加速度图5规则6推理的左右轮合成隶属度函数糊子集所有元素的信息,也较精确.采用重心法将模糊第十一规则推理结果量转换成清晰量,再经过线性尺度变换为实际输入给直流电机的控制量控制移动机器人的移动NB NS 1Z PS PBNB NS IZ PS PB0.74仿真实验及结果分析为了验证本文提出的模糊控制方法的可行性,在10-5105cm/s210-5cnMatlab中利用 Simulink建立系统仿真模型,对控制规则(a)左轮加速度(b)右轮加速度图6规则11推理的左右轮合成隶属度函数进行了仿真,假设移动机器人的行驶速度为0.6m/s,使第十二规则推理结果:用 Fuzzy logic工具箱软件对模糊算法进行了仿真.在仿n真过程中,起点和终点的位置可以任意设置,障碍物的NB NS IZ PS PBPS大小、形状和位置也可以任意设置,这样就可以在任意环境下检验算法的正确性和可靠性0.20.2图9为当起点为(0,0),目标点为(9,9),在障碍物100cm/s2-10-5cmls存在时模糊算法和势场法的路径规划仿真.由图我们(a)左轮加速度(b)右轮加速度图7规则12推理的左右轮合成隶属度函数可以看出,模糊算法比势场法规划的路径更优.其工作4电子学报011年代价更小,行走的路径也更短由于速度的控制,比文5结论献[12]中只对转向角进行控制节省大量时间移动机器人由于传感器的限制以及周围环境的不移动机器人路径规划仿真确定性,很难预先对机器人的移动路径进行规划.本文目标点釆用了的模糊控制算法对移动机器人进行控制.这种8算法对移动机器人的运行环境几乎没有什么限制,它能在情况很复杂的未知环境里运行.对障碍物的形状及其个数也没有什么约束.并可避开传统算法中存在障碍物的对移动机器人的定位精度敏感,对环境信息依赖性强等缺点.并且通过对速度的控制使机器人比以前只2模糊算法路径dd对转角控制进行路径规划节省时间,具有很强的时效性.从实验中的移动轨迹可以看出,移动机器人的行为0起始点势场法路径表现出很好的一致性、连续性和稳定性参考文献10x/m图9模糊算法和势场法的仿真对比图[1]李磊,叶涛,谭民,等.移动机器人技术研究现状与未来在相同的环境下用A算法和模糊算法也进行了J].机器人,2002,24(5):475-480仿真对比,仿真路径图如图10.应用两种算法获得的最Li Lei, Ye Tao, Tan Ming. Present state and future development优路径如图所示.其中,A*算法计算量较大,并且Aof mobile robot technology research [J. Robot. 2002, 24(5)算法只能在环境信息已知的情况下找到路径而不适合475-480.(in Chinese)部分环境信息已知的情况,而且很不适合动态环境的2 Pradhan, DR Parhi, A K Panda. Potential feld method to路径规划.模糊算法显然比A算法规划的路径更优,navigate several mobile robots[ J. Applied Intelligence, 2006(25):321-333并且能够实现移动机器人的实时避障3]郝宗波,洪炳熔.未知环境下基于传感器的移动机器人路移动机器人路径规划仿真径规划[J].电子学报,2006,34(5):953-956目标点Hao Zong-bo, Hong Bing-rong Sensor-based path planning for8mobile robot in unknown environment[J. Acta ElectronicaSinica, 2006, 34(5): 953-956(in Chinese)64]周兰凤,洪炳熔.用基于知识的遗传算法实现移动机器人障碍物路径规划[J].电子学报,2006,34(5):911-914Zhou Lan-feng; Hong Bing-rong. a knowledge based geneticalgorithm for path planning of a mobile robot[ J. Acta Elec2模糊算法路径tronic Sinica, 2006, 34 (5): 911-914(in Chinese0[5]高庆吉,雷亚莉,胡丹丹,等.基于自适应感知复位算法的起始点A*算法路径移动机器人定位[J.电子学报,2007,35(11):2166-217110Gao Qing-ji, Lei Ya-li, Hu Dan-dan. A robot localizationr/m图10模糊算法和A*算法的仿真对比图method based on adaptive sensor resetting algorithm[ J].Acta对比实验表明,模糊算法不但优于人工势场法,也Electronica Sinica, 2007, 35(11): 2166-2171.(in Chinese)优于A算法模糊算法大大优化移动机器人的路径规6TLLe,C-JWu. Fuzzy motion planning of mobile robots in划,是一种很智能的路径规划方法.模糊算法仿真成功unknown environments[J]. Journal of Intelligent and RoboticSystems,2003,37(2):177-191(下转第980页)证明使用模糊控制进行路径规划时对移动机器人的运行环境几乎没有什么限制,它能在未知环境里运行.对作者简介障碍物的形状及其个数也没有什么约東.从仿真实验陈卫东男,1972年生于吉林长春,教授,主要研究方向为机器中的移动轨迹可以看出,移动机器人的行为表现出比人控制,智能算法及其应用,图像处理等较好的一致性、连续性和稳定性.采用模糊控制算法避E-mail:wdchen@ysu.edu.cn开了传统算法中存在的对移动机器人的定位精度敏朱奇光男,1978年生于浙江宁波,讲师,博士研究生,主要研究感、对环境的信息依赖性强等缺点方向为机器人控制,智能算法及其应用第4期陈卫东:基于模糊算法的移动机器人路径规划
    2021-05-06下载
    积分:1
  • KCF改进后的代码
    【实例简介】KCF单目标跟踪改进后的版本
    2021-11-16 00:37:22下载
    积分:1
  • 基于A*算法的单AGV路径规划
    基于曼哈顿距离权重的Astar算法的单AGV路径规划(C#版),并对Astar算法的运行时间进行可视化显示。
    2020-11-05下载
    积分:1
  • 内存乒乓缓存机制和消息分发机制的C代码实现
    用C代码实现乒乓内存缓冲机制,具体实用价值,帮助您提高内存响应速度与及时数据的处理。unsigned long writeunsigned long greadunsigned long overflowST TWTMSG QUEUE:/ Helper macros for accessing Msg queues. *#define tWt QUEUE EMPty(a)(((g->write==(q)->gread)? 1: 0)#define twt_ QUeUe full(a)(((((q)->qwrite +1% TIMEWEIGHT TASKQUEUE SIZED)==(q)->gread)?1: 0)米 generate a Msg entity*正常返回消息体的指针,异常返回NULLT TWTMSG* generateMsg(tT-TWTMSG* pmSg=nULL,if(NULL =-(ptMsg malloc(sizeof(T TWTMSG)))return NULL;memset(ptMsg, 0, sizeof(T TWTMSG)return pmSg;destroy a Msgvoid destroy Msg(t TWTMSG ptMsgif(NULL ptMsg->pfDestroyMsg)pt Msg->pfDestroy Msg(ptMsg->pvMsg)if (NULL != pt Msg)free(pmSgfree a Msg Queuevoid freeTWTMsg Que(T TWTMSG QUEUE* ptMsgQif(NULL =ptMsg Afree(ptMsg Q);Init a Msg QT TWTMSG QUEUE* initTWTMsg QueoT TWTMSG QUEUE pmSg Q= NULlif (NULL ==(ptMsgQ malloc(sizeof(T_ TWTMSG QUeue)goto ErrRetmemset(ptMsgQ, 0, sizeof(T TWTMSG QUEUE))return pmSg Q;Errretprintf( initTWTMsg Que Fail! ")freeTWTMsgQue(ptMsg Q)return nullPop a pvMsg packet from a msg packet queues param g is the packet queue from which to pop the pbuf@return pointer to pvMsg packet if available, NULl otherwiseT TWTMSG* TWTMsg Get(T_ TWTMSG QUEUE aT TWTMSG*//*加锁if(TWT_ QUEUE_ EMPTY(a))iReturn a NUll pointer if the queue is emptypmSg=NULL;else is The queue is not empty so return the next frame from itand adjust the read pointer accordinglypmSg=g->pvMsglq >greadg->gread =((q->gread +1)% TIMEWEIGHT_TASKQUEUE_ SIZE)/*解锁return(pmSg);Push a pmSg packet onto a pvMsg packet queue@param p is the pmsg to push onto the packet queue@param g is the packet queue.W @return 0 if successful, -1 if q is fullnt TWTMsg Send(T tWTMSg*p, T TWTMSG QUEUE *qint ret/if(!TWT_ QUEUE FULL(al)iThe queue isn t full so we add the new frame at the currentw write position and move the write pointer.g->pvMsgla->write]=pg- >write =((q->qwrite+1)% TIMEWEIGHT TASKQUEUE SIZE;ret =oThe stack is full so we are throwing away this value. Keep trackof the number of times this happensg->overflow++ret =-1://*解锁return(ret)**米**米来米***来米*半米*米*半米*米求***半*米米求半**米求半**半求半和*米*//消息分发机制//*算法是//*正常返回0,出错返回-1水米米******水*米*水**米*半*水米米冰半**水水*水米米半米冰水*米水水*水*米水水extern int RecToFile MsgProc(T_ MSG_ REC2 FILE* ptMsg);int DispatchMsg(T TWTMSG *ptMsgitif(NULl = ptMsg goto ErrRet/*dispatch msg*/switch(ptMsg->en Msg Type)case TWT PINgPoNgBuff recRecTo File Msg Procl(TMSG_REC2FE) (pmSg->pMsg);/*处理消息*/destroy Msg( pmSg;/*消毁消息breakdefault.printf("Dispatch Msg Msgtype Error! n")break.return 0ErrRetprintf("Dispatch Msg Fail! ";return-1./*buff size*/#defineP| NGPONG_ BUFF BSIZE0X20000//10*1024*1024/*10M*/*ping pong buff*///chargacPINGBUFF[PINGPONG BUFF BSIZE]; /* Ping Buff*///chargacPONGBUFF[PINGPONG_ BUFF BSIZE] *Pong Buff*/水米米*********米*水**米*半*水米米水**冰水*水米米半半水半米冰水*米水水*水*米米//*释放 ping pong buff/必然成功//*无返回木***木*水****本**水*水水*水****本水**水水****水水***本***米*水void Destroy Ping Pong Butt(T PINGPONGBUFF USE DES ptPing Pong Butt)nLoopif (NULL = pt Ping pong buffreturnfor (nLoop=0; nLooptIng BuffUse[nLoop]. pcHeadAddr)free(ptPing Pong ->t Ping BuffUse[nLoop]. pcHeadAddr)free(pt Ping pong Buff)/初始化 ping pong buff返回 pign pong buff的描述指针//*正常返回0,出错返回-1水水水水水水水水水木水木水水水水水木水木水水水水水水水水本水水水水水水水水水本水水水水水水水水水水水水水T PINGPONGBUFF USE DES InitPing Pong Buff(unsigned int n BuffSizeT PINGPONGBUFF USE DES* ptBuffDes=NULLintnLoop/*获取buf描述*if NULL==(ptBuffDes=malloc(sizeof(T PINGPONGBUFF USE DES))))goto ErrRetmemset(pt BuffDes, 0, sizeof(T_PINGPONGBUFF USE_ DES));/*分别初始化ping和pong*/for(nLoop=0; nLooptIng BuffUsenLoop pcHeadAddr =malloc n BuffSize))goto Err Ret;ptBuffDes->tIng BuffUselnLoop] nBuffSize nBuffsizeptBuffDes->tPing BuffUse[nLoop]. oFfsetptBuffDes->tPing BuffUsenLoop) eUseStatus-=BUFF WRITEABLE;pt BuffDes->eCurUseIDBUFF PINGreturn pt BuffDesErrretprintf("lnitPing Pong Buff Fail!");DestroyIng Pong Buff(pt BuffDes)turn null平**米**米*米***来米米*米*米*半米*米米米来*半米平**米米求*来*半求半来*米求*和*米*/*Reset ping pong buff//*正常返回0,出错返回-1米米米米水冰米*米米水**米米冰*米水米米米米水米水*水米米来米米x米来米米水冰来来宋来水米来米来冰#define ResetBuffUse(ptBuffuse)pt BuffUse->oFfset0pt BuffUse->eUseStatus BUFF WRITEABLEgenerate a file rec msg*正常返回消息体的指针,异常返回NULLT_MSG_REC2lGK SenFRMSB(T_BUFF_USE_DES *ptBuffUse, REC_FILE_DESLIST *ptFileListRT MSG REC2FILE KE* ptRFMsg= NULL;if(NULL ==(ptRFMsg malloc(sizeof(T_ MSG REC2 FILE)return nUllptRFMsg- >pt BuffUse pt BuffUseptRFMsg->pt Filelist ptFilelist;return ptRFMsg
    2020-12-03下载
    积分:1
  • 双容水箱实验报告(采用PID+模糊控制)
    该设计采用了PID+模糊的控制方法,对大滞后系统双容水箱进行控制,有较好的效果。且在报告中,对系统的建模、PID参数的影响等各方面都有了介绍...
    2020-12-10下载
    积分:1
  • 基于均匀信道化滤波器组的研究与设计
    信道化作为软件无线电系统和宽带数字接收机的关键技术之一,而多相滤波结构的信道化处理技术和滤波器组的设计一直是研究难点。根据多相滤波结构,本文给出一种有限冲激响应滤波器的设计方法,然后根据均匀信道化的要求设计出均匀滤波器组,设计出的原型滤波器能够无失真采样滤波并能重构。利用等波纹设计的同时,使优化所得通带波纹数量级达到10-3,衰减达到-100dB。利用matlab设计及仿真表明,该设计是可靠的,可作为高速率滤波器设计的方法。
    2020-12-01下载
    积分:1
  • C语言写的UDP文件传输
    基于客户端服务器的socket局域网内的文件传输,可以传输文本,图片MP3等其他格式的一般文件,希望能提供帮助!
    2020-12-02下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载