关于线状物体断裂,宽窄检测的实现_第1页
关于线状物体断裂,宽窄检测的实现_第2页
关于线状物体断裂,宽窄检测的实现_第3页
关于线状物体断裂,宽窄检测的实现_第4页
关于线状物体断裂,宽窄检测的实现_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、项目描述:检测下图红色框中黑色胶带的断裂,过宽或过窄: 需求分析:检测目标所处图像环境较为复杂,应予以提取,而后使用Findline工具沿着胶带形态提取边缘对点,再分析所有边缘对计算最大最小值即可.基准图像>> 采集图像>>>1. 2. 第一步:分离背景,提取检测目标:1. Dim ImageMinus As New CogIPTwoImageSubtractTool    2.         ImageMinus.InputImag

2、eA = DisplayRef.Image       '导入基准图像3.         ImageMinus.InputImageB = CogRecordDisplay1.Image          '导入采集图像4.         ImageMinus.Run()          

3、;         '执行目标提取复制代码1. 提取后图像>>>1. 2. 第二步:检测断裂,使用斑点工具寻找白色斑点,若斑点个数大于1,则胶带发生断裂. 第三步:检测宽窄,使用Findline工具1. Dim Line As New CogLineSegment2.         Dim Max, Min As Double3.         Dim In

4、dexMax, IndexMin As New Integer4.         Dim Rec As New CogRectangleAffine5.         Max = 06.         Min = 1007.         Rec = Blob.Results.GetBlobs.Item(0).GetBoundingBoxAtAngl

5、e(Blob.Results.GetBlobs.Item(0).Angle)8.         InspectDisplay.StaticGraphics.Add(Rec, "9")              '获取斑点区域9.         CogRecordDisplay1.StaticGraphics.Add(Rec, "9&qu

6、ot;)10.         FindLine.InputImage = ImageMinus.OutputImage       '导入提取目标后图像11.         FindLine.RunParams.ExpectedLineSegment.SetStartLengthRotation(Rec.CornerOriginX + Rec.CornerYX) / 2, (Rec.CornerOriginY + Rec.C

7、ornerYY) / 2, Rec.SideXLength, Rec.Rotation)         '设定期望直线12.         FindLine.RunParams.CaliperProjectionLength = ProjectionBox.Text13.         FindLine.RunParams.CaliperSearchLength = Rec.SideYLength +

8、8014.         FindLine.RunParams.CaliperRunParams.EdgeMode = CogCaliperEdgeModeConstants.Pair15.         FindLine.RunParams.CaliperRunParams.Edge0Polarity = CogCaliperPolarityConstants.DarkToLight16.         Fi

9、ndLine.RunParams.CaliperRunParams.Edge1Polarity = CogCaliperPolarityConstants.LightToDark17.         FindLine.RunParams.CaliperRunParams.MaxResults = 118.         FindLine.RunParams.CaliperRunParams.ContrastThreshold = ContrastBox.Text19. &

10、#160;       FindLine.RunParams.CaliperRunParams.Edge0Position = -WidthBox.Text / 220.         FindLine.RunParams.CaliperRunParams.Edge1Position = WidthBox.Text / 221.         FindLine.RunParams.NumCalipers = Count.T

11、ext22.         FindLine.RunParams.CaliperRunParams.FilterHalfSizeInPixels = FilterBox.Text       23.         FindLine.Run()                '寻边参数设定完成,运行24.  

12、       For I As Integer = 0 To FindLine.Results.Count - 1 Step 125.        If  FindLine.Results.Item(I).CaliperResults.Item(0).Width > Max Then26.              Max = FindLine.Results.Item(I).CaliperResu

13、lts.Item(0).Width27.              IndexMax = I                     '获取最宽点28.        ElseIf FindLine.Results.Item(I).CaliperResults.Item(0).Width < Min Then29.              Min = FindLine.Results.Item(I).CaliperResults.Item(0).Width30.              Index

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论