网站大量收购独家精品文档,联系QQ:2885784924

关于线状物体断裂,宽窄检测的实现.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()? ?? ?? ?? ?? ? 寻边参数设定完成,运行?For I As Integer = 0 To FindLine.Results.Count - 1 Step 1 If??FindLine.Results.Item(I).CaliperResults.Item(0).Width Max Then Max = FindLine.Results.Item(I).CaliperResults.Item(0).

文档评论(0)

2232文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档