skewing or shearing an image in python

只谈情不闲聊 提交于 2019-12-20 17:27:22

问题


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?


回答1:


If you want to use the skimage module the order of operations are:

  • Load image or define data to work with
  • Create the transformation you want
  • Apply the transformatioin

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 parameter (which the class constructs if you instead use the other parameters).



来源:https://stackoverflow.com/questions/24191545/skewing-or-shearing-an-image-in-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!