首页 > 解决方案 > cv2 API 中已弃用的 CreateImage 函数的替代方案

问题描述

我正在更新我的一个项目中使用的包,我想使用更新的 cv2 API,我遇到了不再使用 cv.CreateImage 函数的问题。

以下是给我带来问题的代码:

grey_image = cv.cvtColor(i, cv.COLOR_RGB2GRAY)
df_dx = cv.CreateImage(cv.GetSize(i), cv.IPL_DEPTH_16S, 1)
cv.Sobel(grey_image, df_dx, 1, 1)

变量“i”是大小为 640*480 的 RGB 图像。

我试图利用 numpy 来复制这种方法应该做的事情,如下所示:

df_dx = np.zeros(i.shape[0], i.shape[1], i.shape[2]), np.int16)

但这会提供以下错误

<class 'tuple'>: (<class 'TypeError'>, TypeError('only size-1 arrays can be converted to Python scalars'), None)

这迫使我相信,当我创建 numpy 数组时,它会抛出这个错误,我不知道如何修复它。提前致谢

标签: pythonopencv

解决方案


推荐阅读