如何在openv中实现一维卷积
How to implemet 1D convolution in opencv?
有没有办法在OpenCV中实现1D信号的卷积?
正如我所看到的只有filter2D,但我正在寻找像Matlab的convn这样的东西。
对于一维卷积,你可能想看看np.convolve。
请看这里:https://docs.scipy.org/doc/numpy/reference/generated/numpy.convolve.html
需要一维卷积的Python OpenCV程序可以很容易地使用它。您总是可以将1D向量视为2D mat,因此只需调用opencv build-it函数即可解决问题。
下面是我用来平滑直方图的代码片段。
# Inputs:
# gray = a gray scale image
# smoothing_nbins = int, the width of 1D filter
# Outputs:
# hist_sm = the smoothed image histogram
hist = cv2.calcHist([gray],[0],None,[256],[0,256])
hist_sm = cv2.blur(hist, (1, smoothing_nbins))
可以看到,这里唯一需要的技巧是将一个过滤器维度设置为1。
据我所知,如果您使用convolve2D仅与1D矩阵,它仍然有效。但根据你的具体工作,它可能不是。
相关文章:
- 如何将三维尺寸不固定的三维阵列展平为一维阵列
- STL算法函数在多个一维容器上的使用
- 将二维数组的所有元素插入到一维数组中
- C++语法差异:二维和一维数组(指针算术)
- 将一维数组写入 CSV C++中的不同列?
- 如何为非常量和常量重载实现一次成员函数?
- 不知道如何在家庭作业任务中实现一件事
- C++:将矩阵存储在一维数组中
- 使用 C++20 概念强制类实现一组方法
- 当表示为对象的一维向量时,有效地旋转 NxM 矩阵 (C++)
- 如何在一维数组中的每个元素中都有多个int值
- 以C++填充一维数组
- 一维阵列的运动检测(神经网络或其他选项?
- 编写所需的代码以创建动态一维整数数组
- 用于在一维数组上嵌套循环操作的正确 openmp 指令
- 使用两个不同大小的一维阵列制作 2D 阵列
- 通过访问二维数组实现双线性插值的概念类似于一维数组
- C++:一维正方形井的数值方法的实现
- 在给定的 c++ 代码中"delete [] element"以实现一维数组的目的是什么?
- 如何在openv中实现一维卷积