Python 怎么将cv2.keypoint_convert坐标点转为float型数据
时间: 2023-05-20 18:02:56 浏览: 152
可以使用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型数据了。
相关问题
Python 怎么将cv2.keypoint_convert坐标点分开为两个float型数据
可以使用numpy中的split函数将cv2.keypoint_convert返回的坐标点数组分开为两个float型数据,代码如下:
```python
import cv2
import numpy as np
# 获取关键点坐标
keypoints = [cv2.KeyPoint(10, 20, 1), cv2.KeyPoint(30, 40, 2)]
points = cv2.KeyPoint_convert(keypoints)
# 分开坐标点数组
x, y = np.split(points, 2, axis=1)
# 打印结果
print("x:", x)
print("y:", y)
```
输出结果为:
```
x: [[10.]
[30.]]
y: [[20.]
[40.]]
```
这样就将坐标点分开为了两个float型数据。
怎么将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型数据。