0

私はpython/opencvに少し慣れていないので、ちょっと混乱しています。私の問題はopencvとは何の関係もなく、ただのpythonだと思います。だから私はopencvのものなしでそれを説明します:私は3次元リストを持っています:

for contour in contours:
    contour = cv2.approxPolyDP(contour,10,True)
    print "--------------------------"
    print contour
    print "--------------------------"

そして私はこれを得る:

--------------------------
[[[168 377]]

 [[250 404]]]
--------------------------
--------------------------
[[[332 153]]

 [[419 216]]]
--------------------------

しかし、私が本当に欲しいのはこれです:

--------------------------
[[[168 377]]

 [[250 404]]

 [[332 153]]

 [[419 216]]]
--------------------------

自分でリストを作成しているときは、次のように動作します。

>>> np.array([[[168,377],[250,404],[332,153],[419,216]]])
array([[[168, 377],
        [250, 404],
        [332, 153],
        [419, 216]]])

私は知っています...寸法は同じではありません。なぜopencvがこれを処理できるのかわかりません!? (これらは、cv2.findContours このリストを再編成する方法を知っている人からの輪郭です。または、これに役立つドキュメントです。ありがとうございます:)

4

2 に答える 2

0
res = []
for contour in contours:
    contour = cv2.approxPolyDP(contour,10,True)
    print "--------------------------"
    print contour
    print "--------------------------"
    res.append(contour)
print np.vstack(res)
于 2013-10-02T06:23:37.030 に答える