人机协同控制模块
视觉算法+运动控制引擎
开发周期缩短40%+

九.BLOB模块

头文件:blob.h

库文件:blob.lib,blob.dll

二值对象是图象二值化以后每个独立的块。 二值对象处理模块

9.1常量

9.2函数

rvCreateBlob

声明:RvBlob rvCreateBlob(RV_BLOB_TYPE type, RvImage base ); RvBlob rvCreateBlob(int left, int top, int width, int height );

描述:创建BLOB。

参数:1、RV_BLOB_TYPE type – BLOB类型。目前主要支持两类:

2、RBT_LAB - 标签类型。

3、RBT_DEF - 默认类型。

4、RvImage base – 基图象

返回:BLOB对象

rvDestroyBlob

声明:void rvDestroyBlob(RvBlob blob)

描述:销毁BLOB。

参数:RvBlob blob–BLOB对象

返回:无

rvTransformToLabel

声明:int rvTransformToLabel( RvImage imBin, RvBlob destBlob , int minWidth , int minHeight , BOOL bCutEdge)

描述:二值图象转换成标签图象

参数:1、RvImage imBin - 二值图象 2、RvBlob destBlob – 输出到BLOB对象 3、int minWidth – 最小宽度 4、int minHeight – 最小高度 5、BOOL bCutEdge – 是否保留边缘对象

返回:返回标签的总数

rvTransformToBlob

声明:RvBlob rvTransformToBlob(RvImage imBin, RvBlob destBlob );

描述:将二元图象转换成BLOB对象 。

参数:1、const RvImage imBin –二元图象 2、RvBlob destBlob -目标BLOB(保存BLOB)

返回:BLOB对象,如desbBlob为NULL,该函数创建一个新的BLOB对象。

rvTransformToImage

声明:RvImage BLOB_API rvTransformToImage(const RvBlob blob, RvImage dest );

描述:将BLOB对象转换成二元图象。

参数:1、const RvBlob blob – BLOB对象 2、 RvImage dest – 二元图象

返回:二元对象,如desbBlob为NULL,该函数创建一个新的二元图象对象。

rvbRemoveSpecific

声明:void rvbRemoveSpecific(RvBlob blob, RvLabel label)

描述:从标签图象中移除指定的BLOB 。

参数:1、const RvImage src-标签图象 2、int label-标签

返回:无

备注:该函数仅使用于标签BLOB

rvbFilter

声明:int rvbFilter(RvBlob blob, int size)

描述:从图象中移除面积小于指定大小的BLOB 。

参数:const RvImage src- 标签图象

返回:当前标签数

备注:该函数仅使用于标签BLOB。

rvbFilterEx

声明:int rvbFilterEx(RvBlob blob, int lower, int upper, BOOL bInner=FALSE)

描述:从图象中移除面积在某一区间的BLOB 。

参数:1、const RvImage src- 标签图象 2、int lower – 下区间 3、 int upper- 上区间 4、 BOOL bInner- 是否为区间内。

返回:当前标签数

备注:该函数仅使用于标签BLOB。

rvbGetLabelCount

声明:int BLOB_API rvbGetLabelCount(RvBlob label );

描述:获得标签BLOB的数量。

参数:RvBlob label- 标签B LOB对象

返回:当前标签数

备注:该函数仅使用于标签BLOB。

rvbGetSpecific

声明: RvBlob rvbGetSpecific (RvBlob label, int index, RvBlob dest=NULL);

描述:从图象中移除面积在某一区间的BLOB 。

参数:1、RvBlob label- 标签B LOB对象 2、int lower – 下区间 3、 int upper- 上区间 4、BOOL bInner- 是否为区间内。

返回:当前标签数

备注:该函数仅使用于标签BLOB。

rvbGetWidth

声明:int rvbGetWidth(const RvBlob blob)

描述:获取BLOB宽度。

参数:RvBlob blob–BLOB对象

返回:BLOB对象宽度

rvbGetHeight

声明:int rvbGetHeight(const RvBlob blob)

描述:获取BLOB 高度。

参数:RvBlob blob–BLOB对象

返回:BLOB对象高度

rvbGetCentroid

声明:RvPoint_f rvbGetCentroid (const RvBlob blob )

描述:获取BLOB对象重心位置。

参数:RvBlob blob–BLOB对象

返回:BLOB对象重心位置

rvbGetCircular

声明:double rvbGetCircular (const RvBlob blob )

描述:获取BLOB对象圆度。

参数:RvBlob blob–BLOB对象

返回:BLOB对象圆度

rvbGetArea

声明:size_t rvbGetArea(const RvBlob blob )

描述:获取BLOB对象面积大小。

参数:RvBlob blob–BLOB对象

返回:BLOB对象面积大小

rvbGetBoundBox

声明:RvBox2D rvbGetBoundBox( RvBlob blob )

描述:获取BLOB对象的最小外包矩形(有可能是旋转了的)。

参数:RvBlob blob–BLOB对象

返回:BLOB对象最小外包矩形

rvbGetOffset

声明:RvPoint rvbGetOffset(const RvBlob blob )

描述:获取BLOB对象的在父图象中的位置。

参数:RvBlob blob–BLOB对象

返回:BLOB对象位置坐标

rvbGetRect

声明:RvRect rvbGetRect(RvBlob blob)

描述:获取BLOB对象的外包矩形(不旋转)。

参数:RvBlob blob–BLOB对象

返回:BLOB对象外包矩形

rvbGetSummary

声明:UINT rvbGetSummary(const RvBlob blob, float* pAvg, float* pVar )

描述:获取BLOB对象的的有效像素点和。

参数:RvBlob blob–BLOB对象

返回:BLOB对象像素点和

rvbGetAverage

声明:float rvbGetAverage(const RvBlob blob, float* pVar )

描述:获取BLOB对象的的有效像素点的平均值。

参数:RvBlob blob–BLOB对象

返回:BLOB对象像素点平均值

rvbGetVariance

声明:float rvbGetVariance(const RvBlob blob)

描述:获取BLOB对象的的有效像素点的方差。

参数:RvBlob blob–BLOB对象

返回:BLOB对象像素点的方差

rvbGetStrength

声明:int rvbGetStrength(const RvBlob blob)

描述:获取BLOB对象的的有效像素点的像素强度,即像素点的平值,同时考虑背景强度。

参数:RvBlob blob–BLOB对象

返回:BLOB对象像素点的像素强度

rvbGetPerimeter

声明: UINT rvbGetPerimeter (RvBlob blob );

描述:计算二值对象边界长度

参数:RvBlob blob –二值图象

返回:边缘长度

rvbGetCirular

声明:float rvbGetCirular (const RvBlob blob );

描述:计算一个二值对象的圆度,计算各向异性,r1/r2 描述一个二值区域的细长程度

参数:RvBlob blob –二值图象

返回:圆度值

rvGetSparse

声明:double rvbGetSparse (const RvBlob blob, int part , RvMask mask);

描述:将图象某个子区域的象素与全部象素进行相除而获得的比值。

参数:1、const RvBlob blob- 二值图象对象 2、int part – 计算的区域

返回:比值

rvbGetSlant

声明:// float rvSlant (RvBlob blob);

描述:计算二值对象的方向

参数:const RvBlob blob- 二值图象对象

返回:方向



QQ技术交流群:
微信技术交流群:
Marklab工作室
研发中心: 广东省东莞市大岭山镇元岭小区翠云街1巷16号
商务中心: 广东省东莞市松湖智谷B6栋225b

二维码1 二维码2 二维码3


Marklab工作室 版权所有  粤ICP备13082990号-2   友情链接 hao123 绿盟 搜狗 站长之家 太平洋下载 天极下载 淘宝店 软云动力

赞助和协作单位 广东省科学院自动化研究所 深圳市东百胜技术有限公司

统计显示 ▼