0

Python OpenCV で MSER の例を見つけました。実行しようとすると、list/を再形成しようとするとエラーが発生しますnumpy.array。エラーは次のとおりです。

AttributeError: 'list' オブジェクトに属性 'reshape' がありません

この問題を解決するにはどうすればよいですか? 以下の簡単なコードで、エラーが発生した場所をコメントしました。

import cv2
import numpy as np

img = cv2.imread('../images/Capture2.JPG', 0);
vis = img.copy()
mser = cv2.MSER_create()
regions = mser.detectRegions(img)

hulls = []
for p in regions:
    # Error on below line: 'AttributeError: 'list' object has no attribute 'reshape''
    hulls.append( cv2.convexHull(p.reshape(-1, 1, 2)) )

    # Note a numpy array isn't working either: error: 'ValueError: cannot reshape array of size 2605 into shape (1,2)'
    p = np.array(p)
    hulls.append( cv2.convexHull(p.reshape(-1, 1, 2)) ) 

cv2.polylines(vis, hulls, 1, (0, 255, 0))
cv2.imshow('img', vis)
cv2.waitKey(0)
cv2.destroyAllWindows()
4

1 に答える 1