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 :=length of matrix – 1
  • สำหรับ col ในช่วง 0 ถึงความยาวของเมทริกซ์
    • อุณหภูมิ :=[]
    • สำหรับแถวในช่วงความยาวของเมทริกซ์ – 1 ลงไปที่ -1
      • เพิ่ม matrix[row, col] ใน temp
    • เพิ่มอุณหภูมิลงใน temp_mat
  • สำหรับ i ในช่วง 0 ถึงความยาวของเมทริกซ์
    • สำหรับ j ในช่วง 0 ถึงความยาวของเมทริกซ์
      • เมทริกซ์[i, j] :=temp_mat[i, j]

ตัวอย่าง(Python)

ให้เราดูการใช้งานต่อไปนี้เพื่อทำความเข้าใจ −

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]]