OpenCV常用方法记录(2) CV::CornerEigeValsAndVecs,CV:Sobel,CV::Laplacian,CV::ConvertScaleAbs

本文详细介绍了OpenCV库中的四个关键函数:用于角点检测的CornerEigeValsAndVecs,边缘检测的Sobel和Laplacian算子,以及数据转换函数ConvertScaleAbs。这些技术在计算机视觉中用于处理图像特征和边缘信息。
摘要由CSDN通过智能技术生成

一:CV::CornerEigeValsAndVecs

CornerEigeValsAndVecs记录图像块的特征值和特征向量用于角点检测。

函数原型:

void CornerEigeValsAndVecs(InputArray src, OutputArray dst, int blocksize, int ksize, int borderType = BORDER_EDFAULT);

参数介绍:

src:输入的单通道8位或浮点图像数组

dst:用来存储结果的图像,和src有相同的大小或类型为CV_32FC(6)

blocksize:领域尺寸

ksize:sobel()算子的孔径参数

borderType :像素外推方式

二:CV::Sobel

Sobel是用于边缘检测的离散微分算子,结合了高斯平滑以及微分。因为图像是二维的,所以需要在两个方向上求导,边缘检测中Gx用于检测纵向边缘,Gy用于检测横向边缘。

函数原型:

void Sobel(InputArray src, OutputArray dst, int ddepth, int dx, int dy, int ksize = 3, double scale = 1, double delta, int borderType = BORDER_DEFAULT);

参数介绍:

src:输入的图像数组。

dst:输出的边缘检测的结果图像,大小与src一致。

ddepth:输出图像的深度,不同的输入图像,输出图像有不同的深度。

dx:x方向的差分阶数,1或者0。

dy:y方向的差分阶数,1或者0。

ksize :边缘检测时模板的大小(ksize * ksize),取值为1,3,5,7。

scale :可选参数,算放导数的放缩因子。

delta:可选的增量常数。

borderType :用于判断图像外部像素的边界模式,一般是DORDER_DEFAULT。

三:CV::Laplacian

拉普拉斯算子,二阶导数可以用来边缘检测,因为图像是二维的,需要在两个方向上求导,使用拉普拉斯算子将会使求导变得简单。拉普拉斯算子使用了图像梯度,他内部代码是调用了Sobel算子的。

函数原型:

void laplacian(InputArray src, OutputArray dst, int ddepth, int ksize = 1, double scale = 1, double delta,int border = BORDER_DEFAULT);

参数介绍:

src:输入的图像数组,Mat类的对象,需为单通道的8位图像。

dst:输出的边缘检测的结果图像,大小与src一致。

ddepth:输出图像的深度,不同的输入图像,输出图像有不同的深度。

ksize :边缘检测时模板的大小(ksize * ksize),取值为1,3,5,7。

scale :可选参数,计算拉普拉斯的比例因子,默认值是1。

delta:表示结果存入目标图之前可选的delta值,默认值是0。

borderType :用于判断图像外部像素的边界模式,一般是DORDER_DEFAULT。

四:CV::ConvertScaleAbs

ConvertScaleAbs的作用是对整个图像数组中的每一个元素(像素)取绝对值,可以把任意类型的数据转为CV_8UC1。

函数原型:

void ConvertScaleAbs(IntputArray src, OutputArray dst, double alpha = 1.0, double beta = 1.0);

参数介绍:

src:输入的图像数组,Mat类的对象,需为单通道的8位图像。

dst:输出的边缘检测的结果图像,大小与src一致。

alpha :乘数因子,默认为1.0。

beta :偏移量,默认1.0。

原理及用法:

若像素值 -255 < src * alpha + beta < 255,取绝对值。

若像素值 src * alpha + beta >= 255 || src * alpha + beta <= -255,取255。

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值