python怎样在遍历点的坐标时把坐标存在数组里?
时间: 2023-03-26 14:03:12 浏览: 129
可以使用列表来存储坐标,例如:
```
points = [(1, 2), (3, 4), (5, 6)]
```
其中每个元素都是一个包含两个数字的元组,表示一个点的坐标。可以使用 for 循环遍历点的坐标,并将它们添加到列表中:
```
points = []
for x in range(10):
for y in range(10):
points.append((x, y))
```
这样就可以得到一个包含 100 个点的列表,每个点的坐标都存储在一个元组中。
相关问题
在python中,怎样把二值图的轮廓点每一百个取一个样点,把样点坐标存在数组中呢...
你可以使用 `cv2.findContours()` 函数来获取二值图的轮廓,然后使用简单的循环和条件语句来筛选出每个轮廓中的每一百个点,最后存储到数组中。下面是一个示例代码:
```python
import cv2
import numpy as np
img = cv2.imread('binary_image.png', 0)
contours, hierarchy = cv2.findContours(img, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
contour_points = []
for contour in contours:
for i, point in enumerate(contour):
if i % 100 == 0:
x, y = point[0]
contour_points.append((x, y))
```
在这个示例中,我们使用 `cv2.imread()` 函数读入二值图像,并使用 `cv2.findContours()` 函数获取轮廓和层级信息。然后,我们循环遍历每个轮廓中的每个点,检查其索引是否是 100 的整数倍。如果是,我们将该点的坐标添加到 `contour_points` 数组中。
请注意,我们假设每个轮廓都是封闭的,因此最后的样点数组中将包含轮廓的起点和终点。如果你想要去掉这些点,只需添加一个简单的条件判断即可。
给定一组二维数组坐标,如何把二维数组最外层坐标连接起来,并且按照顺序输出二维点坐标
可以按照以下步骤实现:
1. 定义一个变量 `direction`,初始值为 0,表示从右开始。
2. 定义四个变量 `left`、`right`、`top`、`bottom`,分别表示当前未处理的二维数组的左、右、上、下四个边界。
3. 定义一个数组 `result`,用于存放按照顺序输出的点坐标。
4. 进入循环,判断 `direction` 的值,进行相应的操作:
- 如果 `direction` 为 0,从左到右遍历上边界,将每个点坐标加入 `result` 数组中,并将上边界下移一行,即 `top += 1`。
- 如果 `direction` 为 1,从上到下遍历右边界,将每个点坐标加入 `result` 数组中,并将右边界左移一列,即 `right -= 1`。
- 如果 `direction` 为 2,从右到左遍历下边界,将每个点坐标加入 `result` 数组中,并将下边界上移一行,即 `bottom -= 1`。
- 如果 `direction` 为 3,从下到上遍历左边界,将每个点坐标加入 `result` 数组中,并将左边界右移一列,即 `left += 1`。
5. 循环结束后,`result` 数组中存放的就是按照顺序输出的点坐标。
以下是示例代码(假设二维数组为 `matrix`):
```python
def spiralOrder(matrix):
direction = 0
left, right, top, bottom = 0, len(matrix[0]) - 1, 0, len(matrix) - 1
result = []
while left <= right and top <= bottom:
if direction == 0:
for i in range(left, right + 1):
result.append(matrix[top][i])
top += 1
elif direction == 1:
for i in range(top, bottom + 1):
result.append(matrix[i][right])
right -= 1
elif direction == 2:
for i in range(right, left - 1, -1):
result.append(matrix[bottom][i])
bottom -= 1
else:
for i in range(bottom, top - 1, -1):
result.append(matrix[i][left])
left += 1
direction = (direction + 1) % 4
return result
```
阅读全文