关于线状物体断裂,宽窄检测的实现程序.docx

关于线状物体断裂,宽窄检测的实现程序.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目描述:检测下图红色框中黑色胶带的断裂,过宽或过窄:?需求分析:检测目标所处图像环境较为复杂,应予以提取,而后使用Findline工具沿着胶带形态提取边缘对点,再分析所有边缘对计算最大最小值即可.基准图像?采集图像1.?2.?第一步:分离背景,提取检测目标:Dim ImageMinus As New CogIPTwoImageSubtractTool? ??? ?? ???ImageMinus.InputImageA = DisplayRef.Image? ?? ? 导入基准图像? ?? ???ImageMinus.InputImageB = CogRecordDisplay1.Image? ?? ?? ? 导入采集图像? ?? ???ImageMinus.Run()? ?? ?? ?? ?? ?? ? 执行目标提取复制代码提取后图像1.?2.?第二步:检测断裂,使用斑点工具寻找白色斑点,若斑点个数大于1,则胶带发生断裂.?第三步:检测宽窄,使用Findline工具1.?Dim Line As New CogLineSegment? ?? ???Dim Max, Min As Double? ?? ???Dim IndexMax, IndexMin As New Integer? ?? ???Dim Rec As New CogRectangleAffine? ?? ???Max = 0? ?? ???Min = 100? ?? ???Rec = Blob.Results.GetBlobs.Item(0).GetBoundingBoxAtAngle(Blob.Results.GetBlobs.Item(0).Angle)? ?? ???InspectDisplay.StaticGraphics.Add(Rec, 9)? ?? ?? ?? ???获取斑点区域? ?? ???CogRecordDisplay1.StaticGraphics.Add(Rec, 9)? ?? ???FindLine.InputImage = ImageMinus.OutputImage? ?? ? 导入提取目标后图像? ?? ???FindLine.RunParams.ExpectedLineSegment.SetStartLengthRotation((Rec.CornerOriginX + Rec.CornerYX) / 2, (Rec.CornerOriginY + Rec.CornerYY) / 2, Rec.SideXLength, Rec.Rotation)? ?? ?? ?设定期望直线? ?? ???FindLine.RunParams.CaliperProjectionLength = ProjectionBox.Text? ?? ???FindLine.RunParams.CaliperSearchLength = Rec.SideYLength + 80? ?? ???FindLine.RunParams.CaliperRunParams.EdgeMode = CogCaliperEdgeModeConstants.Pair? ?? ???FindLine.RunParams.CaliperRunParams.Edge0Polarity = CogCaliperPolarityConstants.DarkToLight? ?? ???FindLine.RunParams.CaliperRunParams.Edge1Polarity = CogCaliperPolarityConstants.LightToDark? ?? ???FindLine.RunParams.CaliperRunParams.MaxResults = 1? ?? ???FindLine.RunParams.CaliperRunParams.ContrastThreshold = ContrastBox.Text? ?? ???FindLine.RunParams.CaliperRunParams.Edge0Position = -WidthBox.Text / 2? ?? ???FindLine.RunParams.CaliperRunParams.Edge1Position = WidthBox.Text / 2? ?? ???FindLine.RunParams.NumCalipers = Count.Text? ?? ???FindLine.RunParams.CaliperRunParams.FilterHalfSizeInPixels = FilterBox.Text? ?? ??? ?? ???FindLine.Run()? ?? ?? ?? ?

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档