Python、OpenCV 错误、不支持的源格式组合

Python, OpenCV Error, Unsupported combination of source format

我正在尝试 运行 此代码,但出现错误。

import cv2
import numpy as np

src = np.array([[10, 20, 40, 50],
                 [50, 20, 50, 20],
                 [10, 10, 30, 60],
                 [20, 40, 60, 70]])

dst1 = cv2.blur(src, ksize=(3, 3), borderType = cv2.BORDER_CONSTANT)
print(dst1)
dst2 = cv2.GaussianBlur(src, ksize=(3, 3), sigmaX=0, borderType = cv2.BORDER_CONSTANT)

错误 ->

dst2 = cv2.GaussianBlur(src, ksize=(3, 3), sigmaX=0, borderType = cv2.BORDER_CONSTANT) cv2.error: OpenCV(4.5.5) /Users/runner/work/opencv-python/opencv-python/opencv/modules/imgproc/src/filter.simd.hpp:3045: 错误: (-213: function/feature 未实现) 不支持的源格式组合 (=4 ), 以及函数 'getLinearRowFilter'

中的缓冲区格式 (=5)

如果您构建这样的 np.array,它的(默认)格式是 np.int32,这是不受支持的。而是让它:

src = np.array([[10, 20, 40, 50],
             [50, 20, 50, 20],
             [10, 10, 30, 60],
             [20, 40, 60, 70]], np.uint8) # <-- correct type !!!