zoukankan      html  css  js  c++  java
  • VisionPro笔记:色彩区分

    VisionPro:色彩区分

    来自:blog.sina.com.cn/yangchao168

     利用色彩来区分物体这类的项目没做过,总觉得很难,尤其是涉及到RGB和HSI等。看到VisionPro中有这种实例,觉得很有意思。

    1)声明变量:

    Private mTool as CogColorSegmenterTool

    Private mImageFileTool as CogImageFileTool

    Private mColorRangesInitialized as Boolean

    2) 实例化mTool和mImageFileTool之后,加载图像并显示,接下来就是初始化Color Range并把它们添加到ColorCollection工具中。

     实际区分所有的颜色很难,这里采用CogSimpleColor

    Dim defaultColor as CogSimpleColor

    defaultColor=new CogSimpleColor(CogImageColorSpaceConstants.RGB)

    定义两种黄色

    Dim colorRangeYellow1 as CogColorRangeItem

     点击图片或使用键盘← →翻页   原始图像

     colorRangeYwllow1=new CogColorRangeItem(defaultColor)

    利用Norminal,Low/High tolerance 和softness来填充每个Plane

    colorRangeYellow1.PlaneRange0.Update(229, -81, 26, 0)

    colorRangeYellow1.PlaneRange1.Update(227, -100.2, 28, 0)

    colorRangeYellow1.PlaneRange2.Update(49, -33.3, 36.7, 0)

    给Segment Tool添加这种颜色

    mTool.RunParams.ColorRangeCollection.Add(colorRangeYellow1)

    接下来是第二种黄色

    Dim colorRangeYellow2 As CogColorRangeItem colorRangeYellow2 = New CogColorRangeItem(defaultColor) colorRangeYellow2.PlaneRange0.Update(130, -29.8, 23.7, 0) colorRangeYellow2.PlaneRange1.Update(122, -28.1, 32.7, 0) colorRangeYellow2.PlaneRange2.Update(22, -11.8, 11.8, 0) mTool.RunParams.ColorRangeCollection.Add(colorRangeYellow2) 

     点击图片或使用键盘← →翻页   利用黄色区分的结果

     定义3种黄色

    Dim colorRangeRed1 As CogColorRangeItem colorRangeRed1 = New CogColorRangeItem(defaultColor) colorRangeRed1.PlaneRange0.Update(109, -28.4, 33.8, 0) colorRangeRed1.PlaneRange1.Update(34, -20.8, 17.8, 0) colorRangeRed1.PlaneRange2.Update(11, -8.7, 10.2, 0) colorRangeRed1.Selected = False mTool.RunParams.ColorRangeCollection.Add(colorRangeRed1)

    默认选择黄色,所以对于红色的Selected属性设为False。

    。。。

    在初始化所有的颜色后

    mColorRangesInitialized =true   '可以作为后续的判断条件

    3)颜色选择

    如果选择黄色

    mTool.RunParams.ColorRangeCollection.Item(0).Selected=true

     点击图片或使用键盘← →翻页   利用红色区分的结果

    mTool.RunParams.ColorRangeCollection.Item(1).Selected=true 

    如果选择红色,可以设定Item(2),(3),(4)为Selected。

    4)区分

    mTool.inputImage=InputImage

    mTool.Run()

    输出结果图像

    If (mTool.RunStatus.Result.Equals(CogToolResultConstants.Accept))  Then    CogDisplaySegmentImage.Image = mTool.Result  ‘显示图像

    Else    CogDisplaySegmentImage.Image = Nothing   ’结果有误 End If

     点击图片或使用键盘← →翻页   利用黄红区分的结果

     

  • 相关阅读:
    事件对象3
    事件对象2
    事件对象1
    编码、摘要、加密
    身份证号码的组成
    Oracle的TO_CHAR()格式化数字为百分数的字符串
    转载和补充:Oracle中的一些特殊字符
    linux Shell(待学)
    linux 管道相关命令(待学)
    linux用户权限、系统信息相关命令(待学)
  • 原文地址:https://www.cnblogs.com/amosyang/p/4927669.html
Copyright © 2011-2022 走看看