在python中打印类型为“list”的变量元素

2024-06-16 14:25:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个形状为[1,1,4,2]的变量。该变量基本上有数据(x和y坐标),对应于获取正方形的4个角(使用ArUco标记)。信息以这种形式出现(例如打印变量)——

[array([[[437., 387.],
        [367., 382.],
        [372., 310.],
        [439., 316.]]], dtype=float32)]

如何提取x和y坐标并将其保存在变量中?如何存储a=437&;例如,b=387

我尝试将其转换为numpy数组,但还是遇到了同样的问题。我将输出作为嵌套数组([[]]]-

[[[[439. 415.]
   [365. 416.]
   [362. 342.]
   [433. 340.]]]]

在这里添加我的代码。此代码有助于实时获取中心阿鲁科标记识别-

import numpy as np
import cv2, PIL, os
from cv2 import aruco

cap = cv2.VideoCapture(0)

while(True):
    ret, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    aruco_dict = aruco.Dictionary_get(aruco.DICT_4X4_250)
    parameters =  aruco.DetectorParameters_create()
    corners, ids, rejectedImgPoints = aruco.detectMarkers(gray, aruco_dict, parameters=parameters)
    frame_markers = aruco.drawDetectedMarkers(frame.copy(), corners, ids)

    cv2.imshow('frame', frame_markers)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

Tags: 代码importnumpyids数组cv2framedict