python 矩阵逆时针旋转代码
时间: 2023-07-09 15:04:19 浏览: 99
以下是 Python 中矩阵逆时针旋转的代码:
```python
def rotate_matrix(matrix):
"""
矩阵逆时针旋转90度
"""
n = len(matrix)
for i in range(n // 2):
for j in range(i, n - i - 1):
temp = matrix[i][j]
matrix[i][j] = matrix[j][n - i - 1]
matrix[j][n - i - 1] = matrix[n - i - 1][n - j - 1]
matrix[n - i - 1][n - j - 1] = matrix[n - j - 1][i]
matrix[n - j - 1][i] = temp
return matrix
# 示例
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(rotate_matrix(matrix)) # 输出:[[3, 6, 9], [2, 5, 8], [1, 4, 7]]
```
这里使用了两个嵌套的循环来遍历矩阵中的元素。在每个元素位置上,将该位置的元素与其对称位置上的元素交换即可实现逆时针旋转90度的效果。
相关问题
numpy 二维矩阵逆时针旋转
可以使用numpy中的旋转函数`rot90()`实现二维矩阵的逆时针旋转。
例如,对于一个二维矩阵arr,可以使用以下代码将其逆时针旋转90度:
```python
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 逆时针旋转90度
rotated_arr = np.rot90(arr, k=1)
print(rotated_arr)
```
输出结果为:
```
[[3 6 9]
[2 5 8]
[1 4 7]]
```
其中,`k`参数表示旋转的次数,当`k=1`时表示逆时针旋转90度。如果需要逆时针旋转180度,可以设置`k=2`;如果需要逆时针旋转270度,可以设置`k=3`。
python opencv 逆时针旋转图片2°
可以使用以下代码实现:
```python
import cv2
img = cv2.imread('image.jpg')
rows, cols = img.shape[:2]
M = cv2.getRotationMatrix2D((cols/2, rows/2), -2, 1)
rotated_img = cv2.warpAffine(img, M, (cols, rows))
cv2.imshow('Rotated Image', rotated_img)
cv2.waitKey()
cv2.destroyAllWindows()
```
其中,`img` 是原始图片,`M` 是旋转矩阵,`rotated_img` 是旋转后的图片。`cv2.getRotationMatrix2D` 函数可以得到旋转矩阵,第一个参数是旋转中心点,第二个参数是旋转角度,第三个参数是缩放比例。`cv2.warpAffine` 函数可以根据旋转矩阵对图片进行旋转。