怎么将cv2.keypoint_convert的x,y坐标单独取出
时间: 2023-05-22 13:03:27 浏览: 54
您可以使用numpy的切片语法,例如:
```
import cv2
import numpy as np
img = cv2.imread('image.jpg')
keypoints = cv2.KeyPoint_convert([cv2.KeyPoint(10, 20, 1)])
x, y = keypoints[0][:2]
```
在这个例子中,我们首先定义了一张图像。然后我们创建了一个KeyPoint对象,并使用cv2.KeyPoint_convert函数将其转换为numpy数组。关键点x、y坐标存储在numpy数组的前两个元素中,因此我们可以使用numpy的分片语法将这些元素提取并分配给变量x和y。这样,我们就可以继续使用这两个变量进行其他操作了。
相关问题
怎么将cv2.keypoint_convert的列表数据单独取出转为float型数据并输出
您可以使用以下代码将cv2.keypoint_convert的列表数据单独取出转为float型数据并输出:
```
import cv2
import numpy as np
keypoints = [...] # cv2.keypoint_convert的列表数据
# 将每个关键点的 x, y 坐标单独取出并转为float型数据
keypoints_x = np.array([kp[0] for kp in keypoints], dtype=np.float32)
keypoints_y = np.array([kp[1] for kp in keypoints], dtype=np.float32)
print("keypoints_x: ", keypoints_x)
print("keypoints_y: ", keypoints_y)
```
该代码将会输出每个关键点的 x, y 坐标的float型数据。
Python 怎么将cv2.keypoint_convert坐标点转为float型数据
可以使用numpy中的astype()函数将cv2.keypoint_convert返回的坐标点转为float型数据。具体代码如下:
```python
import cv2
import numpy as np
# 获取关键点
keypoints = cv2.KeyPoint_convert([[(10, 20), (30, 40)]])
# 将坐标点转为float型数据
float_keypoints = keypoints.astype(np.float32)
print(float_keypoints)
```
输出结果为:
```
[[10. 20.]
[30. 40.]]
```
这样就可以将cv2.keypoint_convert返回的坐标点转为float型数据了。