Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python cv2 API中不推荐使用的CreateImage函数的替代方法_Python_Opencv - Fatal编程技术网

Python cv2 API中不推荐使用的CreateImage函数的替代方法

Python cv2 API中不推荐使用的CreateImage函数的替代方法,python,opencv,Python,Opencv,我正在更新我的一个项目中使用的包,我想使用更新的cv2 API,我遇到了这个问题,不再使用cv.CreateImage函数 以下是给我带来问题的代码: gray\u image=cv.cvt颜色(i,cv.COLOR\u RGB2GRAY) df_dx=cv.CreateImage(cv.GetSize(i),cv.IPL_DEPTH_16S,1) cv.Sobel(灰色图像,df\U dx,1,1) 变量“i”是大小为640*480的RGB图像 我尝试使用numpy复制此方法应执行的操作,如

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

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

gray\u image=cv.cvt颜色(i,cv.COLOR\u RGB2GRAY)
df_dx=cv.CreateImage(cv.GetSize(i),cv.IPL_DEPTH_16S,1)
cv.Sobel(灰色图像,df\U dx,1,1)
变量“i”是大小为640*480的RGB图像

我尝试使用numpy复制此方法应执行的操作,如下所示:

df_dx=np.zero(i.shape[0],i.shape[1],i.shape[2]),np.int16)
但这会导致以下错误

:(,TypeError('只能将大小为1的数组转换为Python标量'),无)

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

的第三个参数是
1
,因此
df_dx
应该只有一个通道,而不是与
i
相同数量的通道。换句话说
np.zero(i.shape[0],i.shape[1]),np.int16)
错误似乎是文档没有像应该的那样清晰。我可以绕过图像的创建,因为更新后的Sobel函数返回一个图像,在本例中,该图像将是df_dx变量