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

numpy.ROT90 (m, k = 1, trục = (0,1)) [nguồn]#rot90(m, k=1, axes=(0, 1))[source]#

Xoay một mảng 90 độ trong mặt phẳng được chỉ định bởi các trục.

Hướng xoay là từ đầu thứ nhất về phía trục thứ hai.

Tham số marray_likemarray_like

Mảng gồm hai hoặc nhiều kích thước.

Kintegerinteger

Số lần mảng được xoay 90 độ.

Axes (2,) mảng(2,) array_like

Mảng được xoay trong mặt phẳng được xác định bởi các trục. Trục phải khác nhau.

Mới trong phiên bản 1.12.0.

Returnsyndarrayyndarray

Một cái nhìn xoay của m.

Xem thêm

flip

Đảo ngược thứ tự của các phần tử trong một mảng dọc theo trục đã cho.

img.swapaxes(-2,-1)[...,::-1]
0

Lật một mảng theo chiều ngang.

img.swapaxes(-2,-1)[...,::-1]
1

Lật một mảng theo chiều dọc.

Ghi chú

img.swapaxes(-2,-1)[...,::-1]
2 là mặt trái của
img.swapaxes(-2,-1)[...,::-1]
3

img.swapaxes(-2,-1)[...,::-1]
2 tương đương với
img.swapaxes(-2,-1)[...,::-1]
5

Ví dụ

>>> m = np.array([[1,2],[3,4]], int)
>>> m
array([[1, 2],
       [3, 4]])
>>> np.rot90(m)
array([[2, 4],
       [1, 3]])
>>> np.rot90(m, 2)
array([[4, 3],
       [2, 1]])
>>> m = np.arange(8).reshape((2,2,2))
>>> np.rot90(m, 1, (1,2))
array([[[1, 3],
        [0, 2]],
       [[5, 7],
        [4, 6]]])

Một giải pháp mà không sử dụng

img.swapaxes(-2,-1)[...,::-1]
6 để xoay theo chiều kim đồng hồ sẽ là trao đổi hai trục cuối cùng và sau đó lật cái cuối cùng -

img.swapaxes(-2,-1)[...,::-1]

Để quay ngược chiều kim đồng hồ, hãy lật trục cuối cùng thứ hai -

img.swapaxes(-2,-1)[...,::-1,:]

Với

img.swapaxes(-2,-1)[...,::-1]
6, vòng quay ngược chiều kim đồng hồ sẽ -

np.rot90(img,axes=(-2,-1))

Chạy mẫu -

In [39]: img = np.random.randint(0,255,(7,4,3,5))

In [40]: out_CW = img.swapaxes(-2,-1)[...,::-1] # Clockwise

In [41]: out_CCW = img.swapaxes(-2,-1)[...,::-1,:] # Counter-Clockwise

In [42]: img[0,0,:,:]
Out[42]: 
array([[142, 181, 141,  81,  42],
       [  1, 126, 145, 242, 118],
       [112, 115, 128,   0, 151]])

In [43]: out_CW[0,0,:,:]
Out[43]: 
array([[112,   1, 142],
       [115, 126, 181],
       [128, 145, 141],
       [  0, 242,  81],
       [151, 118,  42]])

In [44]: out_CCW[0,0,:,:]
Out[44]: 
array([[ 42, 118, 151],
       [ 81, 242,   0],
       [141, 145, 128],
       [181, 126, 115],
       [142,   1, 112]])

Kiểm tra thời gian chạy

In [41]: img = np.random.randint(0,255,(800,600))

# @Manel Fornos's Scipy based rotate func
In [42]: %timeit rotate(img, 90)
10 loops, best of 3: 60.8 ms per loop

In [43]: %timeit np.rot90(img,axes=(-2,-1))
100000 loops, best of 3: 4.19 µs per loop

In [44]: %timeit img.swapaxes(-2,-1)[...,::-1,:]
1000000 loops, best of 3: 480 ns per loop

Do đó, để xoay theo

img.swapaxes(-2,-1)[...,::-1]
8 độ hoặc bội số của nó,
img.swapaxes(-2,-1)[...,::-1]
9 hoặc
img.swapaxes(-2,-1)[...,::-1,:]
0 có vẻ khá tốt về hiệu suất và cũng quan trọng hơn là không thực hiện bất kỳ phép nội suy nào thay đổi các giá trị nếu không được thực hiện bởi chức năng dựa trên xoay của SCIPY.

Cập nhật lần cuối vào ngày 19 tháng 8 năm 2022 21:50:38 (UTC/GMT +8 giờ)

hàm numpy.rot90 ()

Hàm ROT90 () được sử dụng để xoay một mảng 90 độ trong mặt phẳng được chỉ định bởi các trục. Hướng xoay là từ đầu thứ nhất về phía trục thứ hai.
Rotation direction is from the first towards the second axis.

Syntax:

numpy.rot90(m, k=1, axes=(0, 1))
Phiên bản: 1.15.0
Hướng dẫn python rotate image 90 degrees numpy - trăn xoay hình ảnh 90 độ numpy

Version: 1.15.0

Parameter:

Tên Sự mô tảBắt buộc / tùy chọn
Optional
mMảng gồm hai hoặc nhiều kích thước.Yêu cầu
kSố lần mảng được xoay 90 độ.Yêu cầu
kSố lần mảng được xoay 90 độ.Yêu cầu

k

Số lần mảng được xoay 90 độ.

trục

>>> import numpy as np
>>> m = np.array([[1,2], [3,4], [5,6]], int)
>>> m
array([[1, 2],
       [3, 4],
       [5, 6]])	   
>>> np.rot90(m)
array([[2, 4, 6],
       [1, 3, 5]])

Mảng được xoay trong mặt phẳng được xác định bởi các trục. Trục phải khác nhau.

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

Giá trị trở lại:

>>> import numpy as np
>>> m = np.array([[1,2], [3,4], [5,6]], int)
>>> np.rot90(m, 3)
array([[5, 3, 1],
       [6, 4, 2]])

Mảng được xoay trong mặt phẳng được xác định bởi các trục. Trục phải khác nhau.

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

Giá trị trở lại:

y: ndarray - một cái nhìn xoay của m. roll()
Next: NumPy Binary operation Home

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

Xoay hình ảnh với Numpy: NP.Hàm Numpy xoay ndarray là NP.ROT90 ().Chỉ định ndarray ban đầu là đối số đầu tiên và số lần xoay 90 độ là đối số thứ hai.np. rot90() . Specify the original ndarray as the first argument and the number of times to rotate 90 degrees as the second argument.

Làm thế nào để bạn xoay một hình ảnh 90 độ trong Python?

Bạn có thể xoay một hình ảnh 90 độ theo hướng ngược chiều kim đồng hồ bằng cách cung cấp góc = 90.Chúng tôi cũng cho mở rộng = true, để hình ảnh xoay điều chỉnh theo kích thước của đầu ra.providing the angle=90. We also give expand=True, so that the rotated image adjusts to the size of output.

Làm cách nào để xoay một mảng numpy 90 độ?

Phương thức numpy.ROT90 () thực hiện xoay một mảng 90 độ trong mặt phẳng được chỉ định bởi trục (0 hoặc 1).Tham số: mảng: [mảng_Lhe] i.e.Mảng có hai hoặc nhiều chiều.numpy. rot90() method performs rotation of an array by 90 degrees in the plane specified by axis(0 or 1). Parameters : array : [array_like]i.e. array having two or more dimensions.

Làm cách nào để xoay một mảng numpy bằng 180 độ?

Sử dụng numpy.rot90 (), bạn có thể xoay mảng numpy ndarray bằng 90/180/270 độ.numpy. rot90() , you can rotate the NumPy array ndarray by 90/180/270 degrees.