OpenCV中文网站

 找回密码
 立即注册
搜索
热搜: 安装 配置
查看: 3131|回复: 0

emgucv删除轮廓过程中的一个小问题,请教各位指点

[复制链接]
发表于 2012-6-5 17:22:38 | 显示全部楼层 |阅读模式
megucv中使用cvSubstituteContour()替换匹配度较小的轮廓,功能无法实现,代码如下
IntPtr Scanner = CvInvoke.cvStartFindContours(ForgroundMask, DynstorageMask, Marshal.SizeOf(ConMask), RETR_TYPE.CV_RETR_TREE, CHAIN_APPROX_METHOD.CV_CHAIN_APPROX_SIMPLE, new Point(0, 0));

                    while (CvInvoke.cvFindNextContour(Scanner) != IntPtr.Zero)
                    {
                       
                       double MatchDegree = CvInvoke.cvMatchShapes(Scanner, DyncontourTempCar, CONTOURS_MATCH_TYPE.CV_CONTOUR_MATCH_I1, 3);
                        if (MatchDegree > 0.5)
                        {
                                                
                         CvInvoke.cvSubstituteContour(Scanner, IntPtr.Zero);//删除当前的轮廓

                       }
                    }

                    CvInvoke.cvEndFindContours(ref Scanner);
这段代码执行后,并没有替换Scanner和intptr.zero。为什么会这样子?
还有想cvZero,cvSet等方法,执行到清除Scanner时都无法执行下去了,,,,,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站

GMT+8, 2024-5-6 19:42 , Processed in 0.008549 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表