Home > Net >  how can i put (keras/apply_affine_transform) to work ? (theta)
how can i put (keras/apply_affine_transform) to work ? (theta)

Time:07-05

I'm trying to rotate an image with keras affine tranformation (theta).
the output i'm reveiving is:

output here

import skimage.io as io  
import matplotlib.pyplot as plt  
import numpy as np

image = io.imread("dog.jpg")  
plt.imshow(image)  
plt.show()

import tensorflow as tf  
transformed=tf.keras.preprocessing.image.apply_affine_transform(image, theta=45) 
plt.imshow(transformed)  
plt.show()

What can i do to rotate the image with affine transformation ?

CodePudding user response:

Add row_axis=0, col_axis=1, channel_axis=2 to apply_affine_transform()'s arguments.

Your image's memory layout is "channels-last", but the function thinks it is "channels-first". It (incorrectly) thinks the image laid out as [C,H,W], rather than [H,W,C].

  • Related