Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc
Bàn luận
Trong bài viết này, hãy để Lừa xem cách xoay hình ảnh bằng Python. Bằng cách xoay hình ảnh, hình ảnh được xoay về trung tâm của nó bằng một số độ được chỉ định. 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. Using Image Processing Library Pillow
Python3
Ở đây thư viện xử lý hình ảnh với gối sử dụng chuyển đổi nghịch đảo. Nếu số độ được 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 sẽ không được hiển thị trong hình ảnh đầu ra. & NBSP;
Phương pháp: 1 Sử dụng gối thư viện xử lý hình ảnh
from
PIL
import
Image
‘
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]5
=
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]7
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]8
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]4
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]8
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]9
[33 11 4 6 7 8]0
Output:
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]0____9
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]2
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]3
=
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]7
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]6
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]4
Đây là hình ảnh được xoay 180 độ
Hình ảnh này được quay bởi 60 độrotate[] method of Python Image Processing Library Pillow Takes the number of degrees as a parameter and rotates the image in Counter Clockwise Direction to the number of degrees specified.
Hình ảnh này được xoay 90 độ Using Open-CV to rotate an image by an angle in Python
Phương pháp xoay [] của Gối thư viện xử lý hình ảnh Python lấy số độ làm tham số và xoay hình ảnh theo hướng ngược chiều kim đồng hồ theo số độ được chỉ định.imutilswhich deals with images. The imutils.rotate[] function is used to rotate an image by an angle in Python.
Python3
Phương pháp 2: Sử dụng CV mở để xoay hình ảnh bằng một góc trong Python
Điều này là phổ biến mà mọi người đều biết rằng Python Open-CV là một mô-đun sẽ xử lý các ứng dụng thời gian thực liên quan đến tầm nhìn máy tính. Open-CV hoạt động với thư viện xử lý hình ảnh Imutilswhich xử lý hình ảnh. Hàm iMutils.Rotate [] được sử dụng để xoay hình ảnh bằng một góc trong Python.
import
[33 11 4 6 7 8]2
import
[33 11 4 6 7 8]4
[33 11 4 6 7 8]5
=
[33 11 4 6 7 8]7
[33 11 4 6 7 8]8
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]4
PIL
2PIL
3PIL
4
PIL
2PIL
3PIL
7
PIL
8PIL
9
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]4
Output:
from
0=
from
2=
from
44
from
6=
from
2=
PIL
0__
Hình ảnh được xoay bằng cách sử dụng CV mở ở 45 độCounter Clockwise direction to the number of degrees specified
Việc xoay vòng của một danh sách cũng đã được thảo luận trước đó, nhưng bài viết đặc biệt này tập trung vào các khoản viết tắt và các kỹ thuật ngắn khác nhau để đạt được điều này trong một lớp hoặc một từ. Hoạt động này khá cần thiết trong cuộc sống của một lập trình viên để đạt được các nhiệm vụ khác nhau. Hãy để thảo luận về các cách khác nhau, chúng ta có thể xoay một danh sách trong Python. & NBSP;
Phương pháp 1: Xoay danh sách bằng cách cắt lát & nbsp;
Phương pháp đặc biệt này là phương pháp chung và chủ yếu được sử dụng để đạt được nhiệm vụ này và cũng đã được thảo luận trong nhiều bài viết. Nó hoạt động bằng cách chỉ tham gia phần cắt sau này vào phần cắt lát ban đầu với số xoay. & NBSP;
Python3
import
1=
import
3import
4import
5import
6import
5import
8import
5Image
0import
5Image
2
Image
4
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]2
Image
6 Image
7 Image
8Image
9import
1=
Original_Image
2Original_Image
3Original_Image
4______77
Image
4
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]2
=
1 Image
7 Image
8Image
9import
1=
Original_Image
2=
8Original_Image
3Original_Image
4Image
7 Original_Image
6=
8Original_Image
3Image
3
Image
4
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]2
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]08
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]09__777
Image
8Image
9Output:
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3 [ back to original] : [1, 4, 6, 7, 2]
Phương pháp 2: Xoay danh sách bằng cách sử dụng danh sách hiểu & nbsp;
Vấn đề này cũng có thể được giải quyết bằng phương pháp ngây thơ, nhưng việc thực hiện ngắn hơn của nó sẽ là với sự trợ giúp của việc hiểu danh sách. Trong phương pháp này, chúng tôi chỉ cần gán lại chỉ số cho từng giá trị cho vị trí cụ thể sau khi xoay. & NBSP;
Python3
import
1=
import
3import
4import
5import
6import
5import
8import
5Image
0import
5Image
2
Image
4
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]2
Image
6 Image
7 Image
8Image
9import
1=
Original_Image
2Original_Image
3Original_Image
4______77
Image
4
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]2
=
1 Image
7 Image
8Image
9Image
4
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]2
=
1 Image
7 Image
8Image
9import
1=
Original_Image
2=
8Original_Image
3Original_Image
4Image
7 Original_Image
6=
8Original_Image
3Image
3
Image
4
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]2
=
1 Image
7 Image
8Image
9Image
4
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]2
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]08
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]09__777
Image
8Image
9Output:
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]
import
1=
Original_Image
2=
8Original_Image
3Original_Image
4Image
7 Original_Image
6=
8Original_Image
3Image
3
Phương pháp 2: Xoay danh sách bằng cách sử dụng danh sách hiểu & nbsp;
Python3
Vấn đề này cũng có thể được giải quyết bằng phương pháp ngây thơ, nhưng việc thực hiện ngắn hơn của nó sẽ là với sự trợ giúp của việc hiểu danh sách. Trong phương pháp này, chúng tôi chỉ cần gán lại chỉ số cho từng giá trị cho vị trí cụ thể sau khi xoay. & NBSP;
import
1=
import
3import
4import
5import
6import
5import
8import
5Image
0import
5Image
2
Image
4
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]2
Image
6 Image
7 Image
8Image
9import
1=
Original_Image
2Original_Image
3Original_Image
4______77
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]01
=
8Original_Image
3Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]4
import
1=
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]07
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]08
Image
4
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]2
=
1 Image
7 Image
8Image
9import
1=
Original_Image
2Original_Image
3Original_Image
4______77
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]01
Original_Image
3Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]4
import
1=
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]07
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]08
Image
4
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]2
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]08
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]09__777
Image
8Image
9Output:
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]
Phương pháp 4: Xoay danh sách bằng cách sử dụng NumpyRotate a list using Numpy
Trong phương pháp này, chúng tôi sẽ sử dụng mô -đun Numpy.Roll để cuộn danh sách tại một vị trí nhất định, tức là chúng tôi đang lăn danh sách tại vị trí chỉ số 1.
Python3
import
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]33
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]34
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]35
=
____9 Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]38
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]39
Các
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]40
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]57
=
import
4Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]40
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]61
=
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]63
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]40
Image
4Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3[back to original] : [1, 4, 6, 7, 2]66
Output:
[33 11 4 6 7 8]