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

  利用黄红区分的结果

VisionPro笔记:色彩区分的更多相关文章

  1. VisionPro笔记(1):动态创建控件

     VisionPro学习笔记(1):动态创建控件 有的时候可能需要在程序中动态创建控件,VisionPro实例中提供了一例动态创建Blob控件的方法.当然,动态创建过多的控件会极大的消耗系统的资源,建 ...

  2. Java笔记_静态变量和实例变量的区别

    这里简单做一下笔记,区分Java全局变量里的静态变量与实例变量. 1.Java里的全局变量 首先了解Java里的全局变量,也叫成员变量. 特点: (1).一个类中既不在方法体内,也不在程序块内定义的变 ...

  3. Android学习系列(23)--App主界面实现

    在上篇文章<Android学习系列(22)--App主界面比较>中我们浅略的分析了几个主界面布局,选了一个最大众化的经典布局.今天我们就这个经典布局,用代码具体的实现它. 1.预览图先看下 ...

  4. ssss

    18:15 2013/6/18 未结束的事情1 应用API接口切换2 03in.com 项目管理授权 软件中不成功3 党校考核时间 段列出所有 10:51 2013/6/20 daili 应用修改1 ...

  5. 重拾CSS基础—开篇

    由来 从事软件行业一晃也5年有余,之间参与过若干个基于web的项目,所以javascript和Html基本已经相当熟悉,最近对于web前端开发比较关注,分析后发现CSS的确是自己的弱项,于是决定再加强 ...

  6. PyQt4 / PyQt5

    Python事多,做个笔记,区分. PyQt5 Reference Guide http://pyqt.sourceforge.net/Docs/PyQt5/index.html Qt4 signal ...

  7. SC || Chapter 1

    第一章的重中之重就是这张图吧 (具体参见笔记) ┉┉∞ ∞┉┉┉┉∞ ∞┉┉┉∞ ∞┉┉┉┉∞ ∞┉┉┉┉∞ ∞┉┉┉∞ ∞┉┉┉┉∞ ∞┉┉┉┉∞ ∞┉┉┉∞ ∞┉┉ 区分哪些属性是外部的(面向用户 ...

  8. 用Python做个海量小姐姐素描图

    素描作为一种近乎完美的表现手法有其独特的魅力,随着数字技术的发展,素描早已不再是专业绘画师的专利,今天这篇文章就来讲一讲如何使用python批量获取小姐姐素描画像.文章共分两部分: 第一部分介绍两种使 ...

  9. SQL在Oracle内部的具体处理流程

         下图显示了SQL在Oracle内部处理的一般阶段:解析.优化.产生行源和执行.数据库可能会忽略某些步骤,这取决于具体的语句.                                 ...

随机推荐

  1. ionic滑动框 ---轮播图(ion-slide-box) 的使用

    1. html : <ion-slide-box auto-play="true" slide-interval=3000 show-pager="false&qu ...

  2. flask_session_源码剖析

    开始文件(部分): from flask import Flask,request,session app = Flask(__name__) app.secret_key = 'sdfsdfsd' ...

  3. Hadoop日志以及日志的格式和命名组成

    一.日志的格式 有两种日志,分别以log和out结尾 1)以log结尾的日志: 通过log4j日志记录格式进行记录的日志,采用的日常滚动文件后缀策略来命名日志文件,内容比较全. 2)以out结尾的日志 ...

  4. canvas图像处理汇总

    一.canvas的情况 canvas自从出来了之后,在前端的图像处理上面提供了各种各样的遍历,虽然很多的操作其实都是要应用到算法的,但是这个也给前端提供了很多的可能性,其中最终要的一个canvas函数 ...

  5. 【HTML_标签大全】

    HTML标签大全 标签 描述 标签类型 备注 <!--...--> 定义注释 / 单标签 <!DOCTYPE> 定义文档类型 / 单标签 <head></he ...

  6. bzoj 4918: 回文数对

    传送门 Description 给定区间[L,R],请统计有多少对整数A,B(L<=A,B<=R)满足A xor B的值在二进制表示下,去掉所有前导0后是回文串 Input 第一行包含一个 ...

  7. Codeforces Round #434 (Div. 2, based on Technocup 2018 Elimination Round 1)&&Codeforces 861C Did you mean...【字符串枚举,暴力】

    C. Did you mean... time limit per test:1 second memory limit per test:256 megabytes input:standard i ...

  8. Codeforces 810C Do you want a date?(数学,前缀和)

    C. Do you want a date? time limit per test:2 seconds memory limit per test:256 megabytes input:stand ...

  9. [51nod1206]Picture

    给你一坨矩形,问这些矩形组成的所有多边形的周长之和. 分别求竖着的边和横着的边. 离散化后线段树,维护当前行(或者列)有多少没在多边形里的,添加矩形就变成添加.删除线段. 每次加线段或删线段时累加一下 ...

  10. 以太坊RPC机制与API实例

    上一篇文章介绍了以太坊的基础知识,我们了解了web3.js的调用方式是通过以太坊RPC技术,本篇文章旨在研究如何开发.编译.运行与使用以太坊RPC接口. 关键字:以太坊,RPC,JSON-RPC,cl ...