图像处理imgproc-特征检测单元

image Filtering 图像滤波

sepFilter2D() 用分解的核函数对图像做卷积。首先,图像的每一行与一维的核kernelX做卷积;然后,运算结果的每一列与一维的核kernelY做卷积

boxFilter() 就是滑动窗口平均滤波的二维版。
GaussianBlur() 高斯平均,也就是高斯模糊。
medianBlur() 中值滤波,个人最爱的滤波函数。
bilateralFilter() 双线性滤波。
前面这四个函数是原来OpenCV里的cvSmooth()取不同参数的应用。
Sobel() 使用扩展 Sobel 算子计算一阶、二阶、三阶或混合图像差分。
Scharr() 计算一阶导,x方向或y方向,以前这个方法是放在cvSobel里的。
Laplacian() 拉普拉斯变换。
erode(), dilate() 腐蚀、膨胀。

示例:
filter2D(image, image, image.depth(), (Mat<float>(3,3)<<-1, -1, -1, -1, 9, -1, -1, -1, -1), Point(1,1), 128);
构造了一个如下所示的核对图像做卷积:
-1 -1 -1
-1 9 -1
-1 -1 -1
核的锚点在(1,1)位置,卷积之后每个像素加上128.


 

  Geometric Image Transformations 图像几何变换

这一部分提供2D图像的很多几何变换操作,例如非常实用的Resize等等。

resize() 改变图像尺寸,可以指定x方向和y方向上的缩放比例,可以指定插值方法。
getRectSubPix() 以亚像素精度从图像中提取矩形。 dst(x,y)=src(x+center.x-(dst.cols-1)*0.5,y+center.y-(dst.rows-1)*0.5) 其中非整数象素点坐标采用双线性插值提取。
warpAffine() 仿射变换。
warpPerspective() 透射变换。
remap() 几何变换。
convertMaps() 将图像从一种类型,转换成另一种类型。

示例:
Mat dst;
resize(src, dst, Size(), 1./sqrt(2), 1./sqrt(2)); // 把图像缩小到原来的根号二分之一。


 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值