Hướng dẫn rotate image by 90 degrees python - xoay hình ảnh 90 độ python

  • Giới thiệu
  • Phương pháp 1: Sử dụng Thư viện hình ảnh Python (PIL)
    • Cú pháp
    • Thông số
    • Ví dụ để xoay một hình ảnh trong Python với PIL
  • Phương pháp 2: Sử dụng CV mở để xoay hình ảnh trong Python
    • Cú pháp
    • Thông số
  • Ví dụ để xoay một hình ảnh trong Python với PIL
  • Phương pháp 2: Sử dụng CV mở để xoay hình ảnh trong Python
  • Ví dụ để xoay một hình ảnh với Open-CV
  • Phương pháp 3: Sử dụng Numpy xoay hình ảnh
    • Phương pháp 4: Xoay hình ảnh matplotlib sử dụng scipy trong Python
    • Sự kết luận

Giới thiệu

Câu hỏi thường gặp

Phương pháp 1: Sử dụng Thư viện hình ảnh Python (PIL)

Cú pháp The function uses an Inverse transformation. If the Number Of Degrees that we have Specified for Image Rotation is not an Integer Multiple of 90 Degrees, then some Pixel Values Beyond Image Boundaries, i.e., Pixel values lying outside the Dimension of the image. Such Values are not displayed in the output image. 

Thông số

Cú pháp

image.rotate(angle, resample=0, expand=0, center=None, translate=None, fillcolor=None)

Thông số

  • Ví dụ để xoay một hình ảnh trong Python với PIL It is the angle in degrees counterclockwise.
  • Phương pháp 2: Sử dụng CV mở để xoay hình ảnh trong Python It is an optional input. It can be one of PIL.Image.NEAREST (use the nearest neighbor), PIL.Image.BILINEAR (linear interpolation in a 2×2 environment), or PIL.Image.BICUBIC (cubic spline interpolation in a 4×4 environment). If omitted, or if the image has mode “1” or “P,” it is set PIL.Image.NEAREST. See Filters.
  • Ví dụ để xoay một hình ảnh với Open-CV It is an optional input. If set to True, the images expand and become large enough to hold the entire rotated image. If set to False, the output image is of the same size as of input image.
  • Phương pháp 3: Sử dụng Numpy xoay hình ảnh It is an optional input. It set the center of image rotation. By default, it is the center of the image.
  • Phương pháp 4: Xoay hình ảnh matplotlib sử dụng scipy trong Python It is an optional input. It is a post-rotate translation.
  • Sự kết luận It is an optional input. It is a color for an area outside the rotated image.

Ví dụ để xoay một hình ảnh trong Python với PIL

Phương pháp 2: Sử dụng CV mở để xoay hình ảnh trong Python

#import Image from PIL
from PIL import Image

#read the image
input_image = Image.open("E:\Python-Pool-Home.jpg")
#show image 
input_image.show()

#rotate image
angle = 180
output = input_image.rotate(angle)
output.show()

angle1 = 90
output1 = input_image.rotate(angle1)
output1.show()

Output:

Hướng dẫn rotate image by 90 degrees python - xoay hình ảnh 90 độ python
Ví dụ để xoay một hình ảnh với Open-CV
Hướng dẫn rotate image by 90 degrees python - xoay hình ảnh 90 độ python
Rotated 180 degree image
Hướng dẫn rotate image by 90 degrees python - xoay hình ảnh 90 độ python
Rotated 90 degree image

Explanation:

  • Phương pháp 3: Sử dụng Numpy xoay hình ảnh
  • Phương pháp 4: Xoay hình ảnh matplotlib sử dụng scipy trong Python
  • Sự kết luận
  • Câu hỏi thường gặp
  • 1. Làm thế nào để bạn xoay một ma trận trong Python?angle of rotation of the image.
  • 2. Làm thế nào để bạn kiểm tra hướng của một hình ảnh trong Python?
  • Trong Python, chúng tôi đã thảo luận về nhiều khái niệm và chuyển đổi. Nhưng đôi khi, chúng ta đi đến một tình huống mà chúng ta cần xoay một hình ảnh với một góc cụ thể. Trong hướng dẫn này, chúng tôi sẽ thảo luận về 4 cách khác nhau để xoay hình ảnh với một góc cụ thể, tức là, sử dụng thư viện hình ảnh Python và sử dụng CV & NBSP mở; để xoay hình ảnh theo một góc trong Python. Xoay của một hình ảnh là một phép biến đổi hình học. Nó có thể được thực hiện bằng cách chuyển đổi chuyển đổi (hoặc) chuyển đổi nghịch đảo.
  • Thư viện hình ảnh Python (PIL) là một mô-đun chứa các chức năng được xây dựng trong Python để thao tác và làm việc với hình ảnh như một đầu vào cho các chức năng. Hàm sử dụng một phép biến đổi nghịch đảo. Nếu số độ mà chúng tôi đã chỉ định cho xoay hình ảnh không phải là bội số của 90 độ, thì một số giá trị pixel vượt ra ngoài ranh giới hình ảnh, tức là, các giá trị pixel nằm ngoài kích thước của hình ảnh. Các giá trị như vậy không được hiển thị trong hình ảnh đầu ra. & NBSP;

Phương pháp 2: Sử dụng CV mở để xoay hình ảnh trong Python

Ví dụ để xoay một hình ảnh với Open-CVimutils.rotate() function, we can rotate an image by an angle in Python. Even Open-CV Rotates the image in Counter Clockwise direction to the number of degrees specified.

Cú pháp

imutils.rotate(image, angle=angle)

Thông số

Ví dụ để xoay một hình ảnh trong Python với PILcv2.imshow(). Then, we will apply the imutils.rotate() function to rotate an image for a particular angle. Then, we will print the images after rotation. Let us look at the example for understanding the concept in detail.

#import cv2 and imutils module
import cv2  
import imutils
  
# read an image as input using OpenCV
input_image = cv2.imread(r"E:\Python-Pool-Home.jpg")
  
output_image = imutils.rotate(input_image, angle=180)

# display the image of 180 degree angle
cv2.imshow("Rotated", output_image)


output1_image = imutils.rotate(input_image, angle=90)
   
# display the image of 90 degree and=gle
cv2.imshow("Rotated", output1_image)
  
# This is used for To Keep On Displaying
cv2.waitKey(0)

Output:

Hướng dẫn rotate image by 90 degrees python - xoay hình ảnh 90 độ python
Hướng dẫn rotate image by 90 degrees python - xoay hình ảnh 90 độ python

Explanation:

  • Thứ nhất, chúng tôi sẽ nhập thư viện CV2 và Imutils.
  • Sau đó, chúng tôi sẽ đọc hình ảnh với sự trợ giúp của mô -đun CV2 làm đầu vào.
  • Sau đó, chúng ta sẽ áp dụng hàm xoay () trong đó chúng ta sẽ vượt qua góc quay của hình ảnh.
  • Chúng tôi đã xoay hình ảnh với hai góc đã cho, tức là, 180 độ và 90 độ.
  • Cuối cùng, chúng tôi sẽ hiển thị cả hình ảnh xoay theo góc độ.
  • Do đó, bạn có thể thấy cả hai hình ảnh.

Phương pháp 3: Sử dụng Numpy xoay hình ảnh

Trong ví dụ này, chúng tôi đã sử dụng một mô -đun numpy để xoay hình ảnh. Đối với điều này, chúng tôi phải nhập thư viện và hình ảnh Numpy từ mô -đun PIL. Sau đó, chúng tôi sẽ chụp một hình ảnh đầu vào từ hàm np.array (). Cuối cùng, chúng tôi sẽ áp dụng NP.ROT90 () để xoay hình ảnh. Bên trong hàm, nếu chúng ta đã vượt qua đối số thứ hai, điều đó có nghĩa là số lần chúng ta cần xoay một hình ảnh. Giả sử, nếu 1 được thông qua, nó sẽ chỉ xoay 90 độ và nếu 2 được thông qua, nó sẽ xoay 180 độ. Chúng ta hãy nhìn vào ví dụ để hiểu chi tiết khái niệm.

import numpy as np
from PIL import Image

input_image = np.array(Image.open('E:\Python-Pool-Home.jpg'))

Image.fromarray(np.rot90(input_image)).save('E:\sid.jpg')

Image.fromarray(np.rot90(input_image, 2)).save('E:\sid1.jpg')

Output:

Hướng dẫn rotate image by 90 degrees python - xoay hình ảnh 90 độ python
Hướng dẫn rotate image by 90 degrees python - xoay hình ảnh 90 độ python

Explanation:

  • Đầu tiên, chúng tôi sẽ nhập một mô -đun Numpy với tên bí danh là NP.
  • Sau đó, chúng tôi sẽ nhập hình ảnh từ mô -đun PIL.
  • Sau đó, chúng tôi sẽ lấy một hình ảnh đầu vào từ hàm np.array ().
  • Sau đó, chúng tôi sẽ áp dụng hàm NP.ROT90 ().
  • Bên trong hàm, nếu chúng ta đã vượt qua đối số thứ hai, điều đó có nghĩa là số lần chúng ta cần xoay một hình ảnh. Giả sử, nếu 1 được thông qua, thì nó sẽ chỉ xoay 90 độ và nếu 2 được thông qua, nó sẽ xoay 180 độ.
  • Do đó, bạn có thể thấy hình ảnh xoay ở vị trí đã cho.

Phương pháp 4: Xoay hình ảnh matplotlib sử dụng scipy trong Python

Trong ví dụ này, chúng tôi sẽ sử dụng thư viện matplotlib và scipy để xoay hình ảnh. Sau đó, chúng tôi sẽ áp dụng hàm Misc.Face () từ Thư viện SCIPY. Sau đó, chúng tôi sẽ xoay một hình ảnh và xem đầu ra. Chúng ta hãy nhìn vào ví dụ để hiểu chi tiết khái niệm.

from scipy import ndimage, misc
from matplotlib import pyplot as plt
  
panda = misc.face()

panda_rotate = ndimage.rotate(panda, 90,
                              mode = 'mirror')
plt.imshow(panda_rotate)
plt.show()

Output:

Hướng dẫn rotate image by 90 degrees python - xoay hình ảnh 90 độ python

Explanation:

  • Đầu tiên, chúng tôi sẽ nhập NDIMAGE và MISC từ Thư viện SCIPY.
  • Sau đó, chúng tôi sẽ nhập thư viện Pyplot từ mô -đun Matplotlib.
  • Sau đó, chúng tôi sẽ áp dụng hàm misc.face ().
  • Sau đó, chúng tôi sẽ áp dụng hàm ndimage.rotate () để xoay hình ảnh.
  • Cuối cùng, chúng tôi sẽ áp dụng imshow () và show () để hiển thị hình ảnh.

Sự kết luận

Trong hướng dẫn này, chúng tôi đã tìm hiểu về cách xoay hình ảnh trong Python với sự trợ giúp của hai phương pháp, tức là, sử dụng CV mở và sử dụng Thư viện được cài đặt Python (PIL). Cả hai phương pháp đều được giải thích chi tiết với cú pháp của chúng và mã mẫu làm ví dụ. Tất cả các ví dụ sẽ giúp bạn hiểu phương pháp sâu sắc hơn.

Tuy nhiên, nếu bạn có bất kỳ nghi ngờ hoặc câu hỏi nào, hãy cho tôi biết trong phần bình luận bên dưới. Tôi sẽ cố gắng giúp bạn càng sớm càng tốt.

Câu hỏi thường gặp

1. Làm thế nào để bạn xoay một ma trận trong Python?

Chúng ta có thể xoay một ma trận trong Python với sự trợ giúp của mã sau:

class rotatedMatrix(object):
   def rotate(self, mat):
      temp_matrix = []
      column = len(mat)-1
      for column in range(len(mat)):
         temp = []
         for row in range(len(mat)-1,-1,-1):
            temp.append(mat[row][column])
         temp_matrix.append(temp)
      for i in range(len(mat)):
         for j in range(len(mat)):
            mat[i][j] = temp_matrix[i][j]
      return mat

ob1 = rotatedMatrix()
print(ob1.rotate([[1,2,3],[4,5,6],[7,8,9]]))

Output:

Hướng dẫn rotate image by 90 degrees python - xoay hình ảnh 90 độ python

2. Làm thế nào để bạn kiểm tra hướng của một hình ảnh trong Python?

Khi không có hiệu chỉnh được áp dụng, & nbsp; định hướng & nbsp; của một bức ảnh được xác định bởi & nbsp; xoay & nbsp; của máy ảnh tại thời điểm & nbsp; hình ảnh & nbsp; đã được chụp. Mặc dù có nhiều góc có thể, xoay theo bội số 90 ° là phổ biến nhất. Chúng cũng đơn giản để sửa chữa sau khi được phát hiện. Chúng ta có thể kiểm tra định hướng của một hình ảnh trong Python bằng các tính năng dựa trên LBP và hồi quy logistic.

Làm cách nào để xoay hình ảnh 90 độ?

Di chuyển con trỏ chuột qua hình ảnh.Hai nút có mũi tên sẽ xuất hiện ở phía dưới.Chọn xoay hình ảnh 90 độ sang trái hoặc xoay hình ảnh 90 độ sang phải.... xoay một bức tranh ..

Làm thế nào để bạn xoay một hình ảnh với một góc trong Python?

2 cách để xoay một hình ảnh bằng một góc trong Python..
Image.show () ....
Hình ảnh đầu vào:.
Hình ảnh đầu vào.....
125 độ - xoay.....
imutils.rotate (hình ảnh, góc = góc) ....
CV2.IMREAD (R "Đường dẫn hình ảnh/URL") ....
cv2.imshow("output--msg",image).

Làm cách nào để xoay hình ảnh 90 độ trong opencv?

Chúng ta có thể xoay một hình ảnh đã cho bằng cách sử dụng OpenCV theo hai cách.Một là sử dụng hàm cv.rotate () và khác đang sử dụng CV2.hàm getRotationMatrix2d ().using the cv. rotate() function and other is using cv2. getRotationMatrix2D() function.

Làm cách nào để xoay một hình ảnh trong Python Pil?

Pil.image.image.rotate () Phương thức - Phương pháp này được sử dụng để xoay một hình ảnh đã cho đến số độ đã cho ngược chiều theo chiều kim đồng hồ xung quanh trung tâm của nó.Tham số: Image_Object: Đó là hình ảnh thực được xoay.Góc: tính theo độ ngược chiều kim đồng hồ. – This method is used to rotate a given image to the given number of degrees counter clockwise around its centre. Parameters: image_object: It is the real image which is to be rotated. angle: In degrees counter clockwise.