Làm thế nào để bạn xoay một mảng trong python?

Mảng được xoay trong mặt phẳng được xác định bởi hai trục được cung cấp bởi tham số axis sử dụng phép nội suy spline của thứ tự được yêu cầu

Thông số đầu vào mảng_like

mảng đầu vào

góc trôi nổi

Góc quay tính bằng độ

trục bộ gồm 2 số nguyên, tùy chọn

Hai trục xác định mặt phẳng quay. Mặc định là hai trục đầu tiên

định hình lại bool, tùy chọn

Nếu định hình lại là đúng, hình dạng đầu ra được điều chỉnh sao cho mảng đầu vào được chứa hoàn toàn trong đầu ra. Mặc định là Đúng

đầu ra mảng hoặc dtype, tùy chọn

Mảng để đặt đầu ra hoặc dtype của mảng được trả về. Theo mặc định, một mảng có cùng loại với đầu vào sẽ được tạo

thứ tự int, tùy chọn

Thứ tự nội suy spline, mặc định là 3. Thứ tự phải nằm trong khoảng 0-5

mode {'phản chiếu', 'gương lưới', 'hằng số', 'hằng số lưới', 'gần nhất', 'gương', 'quấn lưới', 'quấn'}, tùy chọn

Tham số chế độ xác định cách mảng đầu vào được mở rộng ra ngoài ranh giới của nó. Mặc định là 'không đổi'. Hành vi đối với từng giá trị hợp lệ như sau [xem các biểu đồ bổ sung và chi tiết về chế độ ranh giới ].

'phản ánh' [d c b a. A B C D. đ c b a]

Đầu vào được mở rộng bằng cách phản ánh về cạnh của pixel cuối cùng. Chế độ này đôi khi còn được gọi là đối xứng nửa mẫu

'gương lưới'

Đây là một từ đồng nghĩa với 'phản ánh'

'không đổi' [k k k k. A B C D. k k k k]

Đầu vào được mở rộng bằng cách điền tất cả các giá trị ngoài cạnh với cùng một giá trị không đổi, được xác định bởi tham số cval. Không có phép nội suy nào được thực hiện ngoài các cạnh của đầu vào

'hằng số lưới' [k k k k. A B C D. k k k k]

Đầu vào được mở rộng bằng cách điền tất cả các giá trị ngoài cạnh với cùng một giá trị không đổi, được xác định bởi tham số cval. Nội suy cũng xảy ra đối với các mẫu nằm ngoài phạm vi của đầu vào

'gần nhất' [a a a a. A B C D. d d d d]

Đầu vào được mở rộng bằng cách sao chép pixel cuối cùng

‘tấm gương’ [d c b. A B C D. c b a]

Đầu vào được mở rộng bằng cách phản ánh về trung tâm của pixel cuối cùng. Chế độ này đôi khi cũng được gọi là đối xứng toàn bộ mẫu

'quấn lưới' [a b c d. A B C D. A B C D]

Đầu vào được mở rộng bằng cách quấn quanh cạnh đối diện

'quấn' [d b c d. A B C D. b c a b]

Đầu vào được mở rộng bằng cách bao quanh cạnh đối diện, nhưng theo cách sao cho điểm cuối cùng và điểm đầu trùng khớp chính xác. Trong trường hợp này, không xác định rõ mẫu nào sẽ được chọn tại điểm chồng lấp

cval vô hướng, tùy chọn

Giá trị để lấp đầy các cạnh đầu vào trong quá khứ nếu chế độ là 'không đổi'. Mặc định là 0. 0

bộ lọc trước bool, tùy chọn

Xác định xem mảng đầu vào có được lọc trước bằng spline_filter trước khi nội suy hay không. Giá trị mặc định là True, sẽ tạo một mảng float64 tạm thời gồm các giá trị được lọc nếu thứ tự > 1. Nếu đặt giá trị này thành Sai, đầu ra sẽ hơi mờ nếu thứ tự > 1, trừ khi đầu vào được lọc trước, tôi. e. đó là kết quả của việc gọi spline_filter trên đầu vào ban đầu

numpy. rot90# numpy. 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 quay là từ trục thứ nhất về phía trục thứ hai

Thông số . m array_like

Mảng có hai hoặc nhiều chiều

k số nguyên

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

trục [2,] array_like

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

Mới trong phiên bản 1. 12. 0

Trả về . y ndarray

Một hình chiếu xoay của m

Xem thêm

flip

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

fliplr

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

flipud

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

ghi chú

rot90[m, k=1, axes=[1,0]] là đảo ngược của rot90[m, k=1, axes=[0,1]]

rot90[m, k=1, axes=[1,0]] tương đương với rot90[m, k=-1, axes=[0,1]]

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

Chủ Đề