【个人笔记】OpenCV4 C++ 图像处理与视频分析 13课

个人资料,仅供学习使用
修改时间——2022年2月19日 21:11:31
学习课程:OpenCV4 图像处理与视频分析实战教程
课程讲师:贾志刚

13 自定义滤波

opencv知识点:

  • 将图像与内核卷积 - filter2D
  • 缩放 取绝对值 转换为8位 - convertScaleAbs

本课所解决的问题:

  • 什么是自定义滤波?
  • 如果实现自定义滤波的均值卷积?
  • 如果实现自定义滤波的非均值卷积?

1.自定义滤波

我们知道,不同卷积核下的图像卷积意义是不同的,因此卷积核在卷积过程中充当着十分重要的角色。

通过自定义的卷积核来卷积,这种方式的术语为:自定义滤波(customize filter)

要注意的是:
当我们卷积核给的不一样的时候,输出图像的类型必须有所变化,不然会出现意想不到的情况。
针对不同的卷积核,输出图像的深度要给上不同的数据类型,如:

  • CV_32F——32位浮点
  • CV_32S——32位有符号整数

在OpenCV中,自定义滤波要用到API

  • filter2D

具体介绍如下
filter2D

filter2D
	将图像与内核卷积
		共7个参数 
			第1个参数 输入
			第2个参数 输出
			第3个参数 输出图像的深度(-1表示和输入图像一直)
			第4个参数 卷积核
			第5个参数 锚点
					(指示内核中过滤点的相对位置;
					  锚点应位于内核中;
					  默认值Point(-1,-1),表示锚点位于内核中心)
			第6个参数 delta变量(可以调整亮度)
			第7个参数 borderType

2.自定义滤波演示

均值卷积

首先我们演示一下自定义滤波的均值卷积

#include 
#include 

using namespace cv;
using namespace std;

int main(int argc, char** argv) {
   
	Mat src = imread

你可能感兴趣的:(OpenCV4,C++,贰,c++,计算机视觉,opencv,图像处理)