一部のnumpy配列がcv.fromarray()を使用してcvMatに変換されないという問題があります。numpy配列が転置されるたびに問題が発生するようです。
import numpy as np
import cv
# This works fine:
b = np.arange(6).reshape(2,3).astype('float32')
B = cv.fromarray(b)
print(cv.GetSize(B))
# But this produces an error:
a = np.arange(6).reshape(3,2).astype('float32')
b = a.T
B = cv.fromarray(b)
print(cv.GetSize(B))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "test_err.py", line 17, in <module>
B = cv.fromarray(b)
TypeError: cv.fromarray array can only accept arrays with contiguous data
助言がありますか?私の配列の多くはある時点で転置されているため、エラーが頻繁に発生します。
MacPortsからインストールされたNumPy1.6.2とOpenCV2.4.2.1を搭載したMacOSXLionでPython2.7を使用しています。