Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 이미지 회전


하나의 이미지를 나타내는 하나의 2D 행렬이 있다고 가정합니다. 이 이미지를 시계 방향으로 90도 회전해야 합니다. 이미지가 다음과 같으면

1 5 7
9 6 3
2 1 3

그러면 출력은

2 9 1
1 6 5
3 3 7

이 문제를 해결하기 위해 다음 단계를 따릅니다.

  • temp_mat =[], col :=행렬의 길이 – 1을 고려하십시오.
  • 0부터 행렬의 길이까지의 범위에 있는 col의 경우
    • 온도 :=[]
    • 행렬 길이 범위의 행 - 1에서 -1까지
      • temp에 행렬[row, col] 추가
    • temp_mat에 온도 추가
  • 행렬 길이가 0인 범위에 있는 i의 경우
    • 행렬 길이가 0인 범위에 있는 j의 경우
      • 행렬[i, j] :=temp_mat[i, j]

예제(파이썬)

더 나은 이해를 위해 다음 구현을 살펴보겠습니다. −

class Solution(object):
   def rotate(self, matrix):
      temp_matrix = []
      column = len(matrix)-1
      for column in range(len(matrix)):
         temp = []
         for row in range(len(matrix)-1,-1,-1):
            temp.append(matrix[row][column])
         temp_matrix.append(temp)
      for i in range(len(matrix)):
         for j in range(len(matrix)):
            matrix[i][j] = temp_matrix[i][j]
      return matrix
ob1 = Solution()
print(ob1.rotate([[1,5,7],[9,6,3],[2,1,3]]))

입력

[[1,5,7],[9,6,3],[2,1,3]]

출력

[[2,9,1],[1,6,5],[3,3,7]]