OpenCV学习(14)-二维离散卷积

该博客主要介绍了如何在Python中利用scipy库的convolve2d函数进行2D卷积操作。示例代码展示了对一个2x2矩阵I和一个2x2卷积核K进行'full', 'valid'和'same'三种模式的卷积,输出了相应的卷积结果。博客内容涉及图像处理和信号处理的基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# -*- coding: utf-8 -*-
import sys
import cv2
import numpy as np
from scipy import signal
import matplotlib.pyplot as plt


if __name__=="__main__":
   if len(sys.argv)>1 :
      img = cv2.imread(sys.argv[1],0)
   else:
      print('None')
   I=np.array([[1,2],[3,4]],np.float32)
   h1,w1=I.shape
   K=np.array([[-1,-2],[2,1]],np.float32)
   h2,w2=K.shape
   c_full=signal.convolve2d(I,K,mode='full')
   c_valid=signal.convolve2d(I,K,mode='valid')
   c_same=signal.convolve2d(I,K,mode='same')
   print(c_full)
   print(c_valid)
   print(c_same)
   kr,kc=1,1 #锚点
   c_same=c_full[h2-kr-1:h1+h2-kr-1,w2-kc-1:w2+w1-kc-1]
   print(c_same)
   
'''
result:
[[-1. -4. -4.]
 [-1. -5. -6.]
 [ 6. 11.  4.]]
[[-5.]]
[[-1. -4.]
 [-1. -5.]]
[[-1. -4.]
 [-1. -5.]]
'''

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值