cv2.filter2D卷积的具体计算过程

本文详细介绍了OpenCV中cv2.filter2D函数用于2D卷积的具体计算过程,包括使用3x3和2x2卷积核的例子,以及不同边界的处理方式如BORDER_REFLECT_101和默认边界条件。
摘要由CSDN通过智能技术生成

cv2.filter2D卷积的具体计算过程

默认采用镜像翻转填充,不设置参数等同于borderType=cv2.BORDER_REFLECT_101
borderType=cv2.BORDER_DEFAULT

1 计算过程

在这里插入图片描述

2 参考代码

import numpy as np
import cv2

# 创建一个简单的输入图像,假设是一个3x3的灰度图像
image = np.array([[1, 2, 3],
                  [4, 5, 6],
                  [7, 8, 9]], dtype=np.float32)

# 创建一个简单的卷积核,假设是一个2x2的均值卷积核
kernel = np.ones((2, 2), dtype=np.float32) / 4
kernel1 = np.ones((3, 3), dtype=np.float32) / 9

# 打印输入图像和卷积核
print("Input Image:")
print(image)

print("Kernel:")
print(kernel)
print("Kernel1:")
print(kernel1)

# 使用cv2.filter2D函数进行2*2卷积操作
result = cv2.filter2D(image, -1, kernel, borderType=cv2.BORDER_REFLECT_101)
# 打印卷积操作后的结果
print("\nResult after 2*2 convolution:")
print(result)
# 使用cv2.filter2D函数进行3*3卷积操作
result1 = cv2.filter2D(image, -1, kernel1, borderType=cv2.BORDER_REFLECT_101)
# 打印卷积操作后的结果
print("\nResult after 3*3 convolution:")
print(result1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值