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

七.预处理模块

头文件:pprs.h

库文件:pprs.lib,pprs.dll

预处理模块进行像素变换。

7.1常量

边缘检测

名称 说明
RV_EDG_SOBEL
RV_EDG_ZEROCROSS

获取最佳二值化阈值

名称 说明
RV_GTV_MIN_ERROR1
RV_GTV_MIN_ERROR2
RV_GTV_MAX_ENTROPY

图像相减模式

名称 说明
RV_SUBTRACT_NORMAL 正常相减
RV_SUBTRACT_REVERSE 反向相减
RV_SUBTRACT_ABSOLUTE 绝对值

像素操作模式

名称 说明
RV_PM_ADD 像素相加
RV_PM_SUB 像素相减
RV_PM_XOR 像素进行逻辑异或运算
RV_PM_AND 像素进行逻辑与运算
RV_PM_OR 像素进行逻辑或运算
RV_PM_SMALL 求较小像素
RV_PM_LARGE 求较大像素
RV_PM_COPY 像素复制
RV_PM_DIFF 像素绝对差

7.2函数

rvbSimple

声明:RvImage rvbSimple(RvImage image, RvByte level, BOOL bReverse )

描述:按照指定的阈值进行二值化。

参数:1、RvImage image – 灰度图象

2、RvByte leve – 阈值

3、BOOL bReverse – 反置

返回:返回图象对象

rvbDark

声明:RvImage rvbDark(RvImage image, RvByte level, RvByte newVal, BOOL bBin );

描述:将小于指定灰度值的像素变成新值或按照进行二值化,即小于指定灰度值的为1,否则为0。

参数:1、RvImage image – 灰度图象

2、RvByte level – 灰度值

3、RvByte newVal – 新值

4、BOOL bBin – 是否进行二值化

返回:返回图象对象

rvbLight

声明:RvImage rvbLight(RvImage image, RvByte level, RvByte newVal, BOOL bBin);

描述:将大于指定灰度值的像素变成新值或按照进行二值化,即大于指定灰度值的为1,否则为0。

参数:1、RvImage image – 灰度图象

2、RvByte level – 灰度值

3、RvByte newVal – 新值

4、BOOL bBin – 是否进行二值化

返回:返回图象对象

rvbInner

声明:RvImage rvbInner(RvImage image, RvByte low, RvByte high, RvByte newVal , BOOL bBin);

描述:将在一定区间范围内的像素值替换成新值或按照进行二值化。即将像素值大于等于下区间和小于上区间的像素值变为1,否则为0。

参数:1、RvImage image – 灰度图象

2、RvByte low – 下限

3、RvByte high- 上限

4、RvByte newVal – 新值

5、BOOL bBin – 是否进行二值化

返回:返回图象对象

rvbOuter

声明:RvImage rvbOuter(RvImage image, RvByte low, RvByte high, RvByte newVal , BOOL bBin)

描述:将不一定区间范围内的像素值替换成新值或按照进行二值化。即将像素值小于下区间和大于等于上区间的像素值变为1,否则为0。

参数:1、RvImage image – 灰度图象

2、RvByte low – 下限

3、RvByte high- 上限

4、RvByte newVal – 新值

5、BOOL bBin – 是否进行二值化

返回:返回图象对象

rvbLocalIntegral

声明:RvImage rvbLocalIntegral(RvImage image, float range, RvByte maxStd, int winSize);

描述:按照局部积分的方法对图象进行自动二值化

参数:1、RvImage image – 灰度图象

2、float range – 范围

3、RvByte maxStd – 最大标准差

4、int winSize – 窗口大小

返回:返回图象对象

rvbMultiLevel

声明:RvImage rvbMultiLevel(RvImage image, int levels)

描述:将图象按照指定的灰度级数,进行深度灰度级别降低。

参数:1、RvImage image – 灰度图象

2、int levels – 灰度级数

返回:返回图象对象

rvbMaxEntropy

声明:RvImage rvbMaxEntropy(RvImage image );

描述: 按照最大信息熵的方法进行自动二值化

参数:RvImage image – 灰度图象

返回:返回图象对象

rvbIsoData

声明:RvImage rvbIsoData(RvImage image, int step, int kernelSize );//suggest 5 for default ;

描述: 按照孤立数据的方法进行自动二值化。

参数:1、RvImage image – 灰度图象

2、RvByte low – 下限

3、RvByte high- 上限

4、RvByte newVal – 新值

5、BOOL bBin – 是否进行二值化

返回:返回图象对象

rvbMinError

声明:RvImage rvbMinError(RvImage image, int mode);

描述:按照最小错误的方法进行自动二值化。

参数:1、RvImage image – 灰度图象

2、int mode – 模式

返回:返回图象对象

rvGetThreshValue

声明:RvByte rvGetThresValue (RvImage image, int method);

描述:按照指定的方法自动计算出二值化的最佳阈值。

参数:1、RvImage image – 灰度图象

2、int method – 方法

返回:返回图象对象

rvFilter

声明:RvImage rvFilter(RvImage image, RvMatrix kernel);

描述:数字图象与输入的卷积核做卷积运算

参数:1、RvImage image – 灰度图象

2、RvMatrix kernel – 卷积核

返回:返回图象对象

rvSmoothMedian

声明:RvImage rvSmoothMedian(RvImage image, int kernelSize);

描述:中值滤波。

参数:1、RvImage image – 灰度图象

2、int kernelSize– 中值核大小

返回:返回图象对象

rvPixelAdd

声明:RvImage rvPixelAdd(RvImage image1, RvImage image2);

描述:同一个位置的每一个像素加起来。结果放在图象1

参数:1、RvImage image1 - 数字图象1

2、RvImage image2 - 数字图象2

返回:返回图象1

rvPixelSubtract

声明:RvImage rvPixelSubtract(RvImage image1, RvImage image2 );

描述:将两个图像中的像素相减。结果放在图象1

参数:1、RvImage image1 - 数字图象1

2、RvImage image2 - 数字图象2

返回:返回图象1

rvPixelDiff

声明:RvImage rvPixelDiff(RvImage image1, RvImage image2 );

描述:计算两个图像中的像素差的绝对值。结果放在图象1

参数:1、RvImage image1 - 数字图象1

2、RvImage image2 - 数字图象2

返回:返回图象1

rvPixelLarge

声明:RvImage rvPixelLarge(RvImage image1, RvImage image2);

描述:计算两个图象中对应象素的较大值,结果保存在图象1。

参数:1、RvImage image1 - 数字图象1

2、RvImage image2 - 数字图象2

返回:返回图象1

rvPixelSmall

声明:RvImage rvPixelSmall(RvImage image1, RvImage image2);

描述:计算两个图象中对应象素的较小值,结果保存在图象1。

参数:1、RvImage image1 - 数字图象1

2、RvImage image2 - 数字图象2

返回:返回图象1

rvPixelXor

声明:RvImage rvPixelXor(RvImage image1, RvImage image2);

描述:将两个图象的像素进行逻辑异或, 结果保存在图象1。

参数:1、RvImage image1 - 数字图象1

2、RvImage image2 - 数字图象2

返回:返回图象1

rvPixelAnd

声明:RvImage rvPixelAnd(RvImage image1, RvImage image2);

描述:将两个图象的像素进行逻辑与, 结果保存在图象1。

参数:1、RvImage image1 - 数字图象1

2、RvImage image2 - 数字图象2

返回:返回图象1

rvPixelOr

声明:RvImage rvPixelOr(RvImage image1, RvImage image2);

描述:将两个图象的像素进行逻辑或, 结果保存在图象1。

参数:1、RvImage image1 - 数字图象1

2、RvImage image2 - 数字图象2

返回:返回图象1

rvPixelMerge

声明:RvImage rvPixelMerge(image0, int x0, int y0, RvImage image1, int x1, y1, int type)

描述:将两个图象的按照指定的方式进行像素值运算。

参数:1、RvImage image0- 数字图象1

2、int x0 – 图象1的x起始坐标

3、int y0 - 图象1的y起始坐标

4、RvImage image1 - 数字图象2

5、int x1 – 图象2的x起始坐标

6、int y1 - 图象2的y起始坐标

7、int type – 运算类型

返回:返回图象1

rvNormalize

声明:RvImage rvNormalize(RvImage image, float avg, float var);

描述:根据指定的平均和方差对图象进行规范化。

参数:1、RvImage image- 数字图象

2、float avg –平均

3、float var – 方差

返回:返回图象

rvContrast

声明:RvImage rvContrast(RvImage image, float lowPercent, float highPercent);

描述:根据高低不同区间的百分比,进行对比度拉伸。

参数:1、RvImage image- 数字图象

2、float lowPercent-

3、float highPercent-

返回:返回图象

rvResample

声明:RvImage rvResample(RvImage image, float dx, float dy, BOOL bNearest );

描述:按照指定的偏移量对图象进行重新采样。。

参数:1、RvImage image- 数字图象

2、float dx – x方向的位移

3、float dy- y 方向的位移

4、BOOL bNearest- 是否采用最近距离方法进行采用

返回:返回图象

rvScale

声明:BOOL rvScale(RvImage image, float scaleRate, int flag );

描述:对数字图象进行缩放。

参数:1、RvImage image-图象对象

2、float scaleRate-缩放比例

3、int flag-插值方式

返回:是否成功

rvScaleEx

声明:BOOL rvScaleEx(RvImage imgOri, RvImage imgNew , int flag=RV_FM_NEAREST);

描述:对数字图象进行缩放。

参数:1、RvImage image-源对象

2、RvImage imgNew-新图象对象

3、int flag-插值方式

返回:是否成功

rvRotate

声明:void rvRotate(RvImage image, int times);

描述:旋转90度倍数, 为负数的时候,反方向旋转。

参数:1、RvImage image-图象对象

2、int times-旋转次数

返回:无

rvRotateEx

声明:void rvRotateEx(RvImage image, double angle, BOOL bNearest ,BOOL bReserveDim );

描述:图象旋转任意角度。

参数:1、RvImage image- 图象对象

2、double angle-旋转角度

3、BOOL bNearest –是否使用最近距离插值方式

4、BOOL bReserveDim-是否保持图象大小尺寸不变。

返回:无

rvDiffFirst

声明:RvImage rvDiffFirst(RvImage image, int direct);

描述:一阶导数边缘增强

参数:1、RvImage image- 数字图象

2、int direct – 方向

返回:返回图象

rvDiffSecond

声明:RvImage rvDiffSecond(RvImage image,int direct);

描述:二阶导数边缘增强

参数:1、RvImage image - 数字图象

2、int direct – 方向

返回:返回图象

rvPrewitt

声明:RvImage rvPrewitt(RvImage image,int direct);

描述:使用prewitt滤波核对图像边缘进行增强

参数:1、RvImage image- 数字图象

2、int direct – 方向

返回:返回图象

rvSobel

声明:RvImage rvSobel(RvImage image, int direct);

描述:根据指定的方向使用sobel核进行边缘增强。

参数:1、RvImage image- 数字图象

2、int direct – 方向

返回:返回图象

rvKirsch

声明:RvImage rvKirsch(RvImage image,int direct);

描述:使用Kirsch滤波核对图像进行边缘增强

参数:1、RvImage image- 数字图象

2、int direct – 方向

返回:返回图象

rvLaPlace

声明:RvImage rvLaPlace(RvImage image );

描述:使用LaPlacian滤波核对图像边缘进行增强

参数:RvImage image- 数字图象

返回:返回图象

rvLaPlacian

声明:RvImage rvLaPlace(RvImage image );

描述:使用LaPlacian滤波核对图像边缘进行增强

参数:RvImage image- 数字图象

返回:返回图象

rvRoberts

声明:RvImage rvRoberts(RvImage image);

描述:使用Roberts滤波核对图像进行边缘增强

参数:RvImage image- 数字图象

返回:返回图象

rvSharp1541

声明:RvImage rvSharp1541(RvImage image);

描述:使用特定的滤波核对图像进行锐化处理。其卷积核如下: -1 -1 5 -1 -1 参数:RvImage image- 数字图象 返回:返回图象

rvSmoothAvg

声明:RvImage rvSmoothAvg(RvImage image);

描述:使用平均滤波核进行简单的平滑处理。

参数:RvImage image- 数字图象

返回:返回图象

rvFlip

声明:RvImage rvFlip(RvImage image, int direct);

描述:对选定的方向进行翻转。

参数:1、RvImage image- 数字图象

2、int direct – 方向

返回:返回图象

rvLinear

声明:RvImage rvLinear(RvImage image,float gain, float offset);

描述:对输入的像素值进行线性变换,以获得需要的格式

参数:1、RvImage image- 数字图象

2、float gain –增益

3、float offset –偏移

返回:返回图象

rvDilate

声明:RvImage rvDilate(RvImage image, const RvMask shape );

描述:对图像进行区域的膨胀处理。

参数:1、RvImage image- 数字图象

2、RvMask shape – 模板形状

返回:返回图象

rvErode

声明:RvImage rvErode(RvImage image, const RvMask shape );

描述:对图像进行区域的腐蚀处理。

参数:1、RvImage image- 数字图象

2、RvMask shape – 模板形状

返回:返回图象

rvEqualize

声明:RvImage rvEqualize(RvImage image);

描述:使用柱状图信息进行等值化; 进行的统计规范化来对图像动态范围的最大化。

参数:RvImage image- 数字图象

返回:返回图象

rvGradient

声明:RvImage rvGradient(RvImage image, int direct, int gap);

描述:利用梯度进行边缘检测。

参数:1、RvImage image- 数字图象

2、int direct – 方向

3、int gap – 梯度距离

返回:返回图象

rvInvert

声明:void rvInvert(RvImage image);

描述: 对图象进行转值运算。即如果是二值图象,1变0,0变1。如果是灰度图象255- gray。

参数:RvImage image- 数字图象

返回:返回图象

rvPixelCopy

声明:void rvPixelCopy(const RvImage src, RvImage dest, int sx , int sy, int sw, int sh, int dx, int dy, int dw, int dh);

描述:将两个图象的像素进行逐点拷贝。

参数:1、const RvImage src-源图象

2、RvImage dest-目的图象

3、int sx-源图象左上角x坐标

4、int sy-源图象左上角y坐标

5、int sw-源图象需要拷贝的宽度

6、int sh-源图象需要拷贝的高度

7、int dx-目标图象左上角x坐标

8、int dy-目标图象左上角y坐标

9、int dw-目标图象需要拷贝的宽度

10、int dh-目标图象需要拷贝的高度

返回:无

rvFill

声明:void rviFill(RvImage image, int x, int y, int target, int replace);

描述:从(x,y)位置处开始将目标像素值替换为新像素值。

参数:1、RvImage image- 图象对象

2、int x- x坐标

3、int y- y坐标

4、int target-目标像素值

5、int replace-新像素值

返回:无

rvDetectEdge

声明:RvImage rvDetectEdge(RvImage image, int type, int dir, float thresVal , RvMask mask )

描述:查找边缘点,返回一个二值图象(边缘像素)。

参数:RvImage image – 灰度图象

返回:二值图象

rvFillHole

声明:void rvFillHole(RvImage image)

描述:对HOLE的BLOB对象进行填充。

参数:RvImage image – 二值图象

返回:无

rvRemoveBorder

声明:void rvRemoveBorder(RvImage image, BOOL n4 )

描述:移除边缘的二值图象中与边缘接触的BLOB对象。

参数:1、RvImage image - 二值图象

2、BOOL n4 – 是否为4连接性

返回:无

rvRetrieveEdge

声明:void rvRetrieveEdge(RvImage image, BOOL bDark2Light , BOOL n4 )

描述:二值图象中的边缘

参数:1、RvImage image - 二值图象

2、BOOL bDark2Light - 是否暗到亮的过渡

3、BOOL n4 – 是否为4连接性

返回:无

rvSmooth

声明:RvImage rvSmooth(RvImage image, int type, RvSize kernelSize, double option1, double option2)

描述:对图象进行平滑处理。

参数:1、RvImage image -二元图象

int type –类型,该值为:

RV_ST_BLUR – 模糊。 对option1 x option2进行求和,然后使用1/(param1 x param2)进行规范化

RV_ST_MEDIAN – 中值。

RV_ST_GAUSSIAN – 高斯。进行option1 和option2高斯卷积运算。

RV_ST_BILATERAL – 双线性。Option1为颜色sigma,option2为空间sigma 。

RvSize kernelSize – 内核大小

double option1 – 选项1

double option2 – 选项2

返回:源图象。

备注:该函数与OPENCV函数同名函数的用法一致。

rvMorphology

声明:RvImage rvMorphology(RvImage image, const RvKernel kernel, int type, int repeats )

描述:对图象进行形态学操作。

参数:1、RvImage image -二元图象

const RvKernel kernel – 卷积核。

int type –类型,该值为:

RV_MT_OPEN - 开操作

RV_MT_CLOSE -闭操作

RV_MT_GRADIENT - 梯度

RV_MT_TOPHAT - 顶帽

RV_MT_BLACKHAT – 黑帽

Int repeats– 重复次数。

返回:源图象。

备注:该函数与OPENCV函数同名函数的用法一致。

rvMorpClose

声明:RvImage rvMorpClose(RvImage image)

描述:对图象进行闭运算。

参数:1、RvImage image -二元图象

返回:源图象。

rvMorpOpen

声明:RvImage rvMorpOpen (RvImage image)

描述:对图象进行闭运算。

参数:1、RvImage image -二元图象

返回:源图象。



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

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


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

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

统计显示 ▼