I need to shear and skew some images using python.
I've come across this skimage module but I don't seem able to understand exactly how I'm supposed to use this.
I've tried a few things, which obviously gave me errors, because as I suddenly realized later, I'm not passing in my image to the function. I then noticed that the function doesn't take my image as an input parameter in the first place. So how should the transformation be applied? Or is this even the right function to be looking at in order to skew or shear an image?
If you wan to use the skimage module the order of operations are:
A work flow might look like the following:
from skimage import io from skimage import transform as tf # Load the image as a matrix image = io.imread("/path/to/your/image.jpg") # Create Afine transform afine_tf = tf.AffineTransform(shear=0.2) # Apply transform to image data modified = tf.warp(image, inverse_map=afine_tf) # Display the result io.imshow(modified) io.show()
The AffineTransform class from the skimage module accepts a transformation matrix as its first parameters (which the class constructs if you instead use the other parameters).