Drehen Sie eine nxnxn-Matrix in Python
Posted: 03 Jan 2025, 17:03
Ich habe ein binäres Array der Größe 64x64x64, wobei ein Volumen von 40x40x40 auf „1“ und der Rest auf „0“ gesetzt ist. Ich habe versucht, diesen Würfel mit skimage.transform.rotate und auch Opencv als:
um seinen Mittelpunkt um die Z-Achse zu drehen
Im Fall von openCV habe ich versucht, eine 2D-Rotation jedes einzelnen Slices in einem Würfel (Cube[:,:,n=1,2,3...) durchzuführen. p]).
Nach dem Drehen ändert sich die Gesamtsumme der Werte im Array. Dies kann durch Interpolation während der Drehung verursacht werden. Wie kann ich ein solches 3D-Array drehen, ohne etwas zum Array hinzuzufügen?
um seinen Mittelpunkt um die Z-Achse zu drehen
Code: Select all
def rotateImage(image, angle):
row, col = image.shape
center = tuple(np.array([row, col]) / 2)
rot_mat = cv2.getRotationMatrix2D(center, angle, 1.0)
new_image = cv2.warpAffine(image, rot_mat, (col, row))
return new_image
Nach dem Drehen ändert sich die Gesamtsumme der Werte im Array. Dies kann durch Interpolation während der Drehung verursacht werden. Wie kann ich ein solches 3D-Array drehen, ohne etwas zum Array hinzuzufügen?