Opencv cv2.split()不';我不能超过512个频道
我有一个大小为Opencv cv2.split()不';我不能超过512个频道,opencv,numpy,Opencv,Numpy,我有一个大小为(10x10x1000的数组,我想将其拆分为1000个10x10数组。因此我使用了cv2.split()函数。但它不起作用 因此,仔细检查后,我发现cv2.split()不适用于超过512个通道的阵列。 见下文: In [101]: j = np.arange(3*3*512).reshape((3,3,512)); k = cv2.split(j); print len(k) 512 In [102]: j = np.arange(3*3*513).reshape((3,3,5
(10x10x1000
的数组,我想将其拆分为1000个10x10
数组。因此我使用了cv2.split()
函数。但它不起作用
因此,仔细检查后,我发现cv2.split()不适用于超过512个通道的阵列。
见下文:
In [101]: j = np.arange(3*3*512).reshape((3,3,512)); k = cv2.split(j); print len(k)
512
In [102]: j = np.arange(3*3*513).reshape((3,3,513)); k = cv2.split(j); print len(k)
1
这里的问题是什么?这是一个bug还是有什么其他方法可以让它工作?有没有其他更好的方法可以有效地做到这一点?您可以使用以下方法:
这似乎有效:
>>> print len(k)
513
您可以改为使用:
这似乎有效:
>>> print len(k)
513
Open CV使用变量CV_CN_MAX定义最大通道数
“频道的最大可能数量由CV_CN_MAX常量定义,该常量当前设置为512。”您可以读取到,Open CV使用变量CV_CN_MAX定义了频道的最大数量
“最大可能的通道数由CV_CN_MAX常量定义,该常量当前设置为512。”您可以阅读此内容谢谢。我了解了
np.dsplit
的功能。知道cv2.split()有什么问题吗函数?谢谢。我了解了与之相同的np.dsplit
。知道cv2.split()函数有什么问题吗?