Open In App

Wand affine_projection distortion method in Python

Last Updated : 16 Mar, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Affine Projection is very much similar to scale_rotate_translate distortion type. The only difference is that it exactly needs six real numbers for the distortion arguments.

Scalex, Rotatex, Rotatey, Scaley, Translatex, Translatey

Source Image: Example #1: 

Python3




from collections import namedtuple
# Import Color from wand.color module
from wand.color import Color
# Import Image from wand.image module
from wand.image import Image
 
Point = namedtuple('Point', ['x', 'y'])
 
with Image(filename ='gog.png') as img:
    img.background_color = Color('skyblue')
    img.virtual_pixel = 'background'
    rotate = Point(0.1, 0)
    scale = Point(0.7, 0.6)
    translate = Point(5, 5)
    args = (
        scale.x, rotate.x, rotate.y,
        scale.y, translate.x, translate.y
    )
    img.distort('affine_projection', args)
    img.save(filename ="affinegfg.png")


Output : Example #2: changing argument values. 

Python3




# Import Color from wand.color module
from wand.color import Color
# Import Image from wand.image module
from wand.image import Image
 
with Image(filename ='gog.png') as img:
    img.background_color = Color('skyblue')
    img.virtual_pixel = 'background'
    rotate = Point(0.1, 0.3)
    scale = Point(0.9, 0.2)
    translate = Point(7, 5)
    args = (
        scale.x, rotate.x, rotate.y,
        scale.y, translate.x, translate.y
    )
    img.distort('affine_projection', args)
    img.save(filename ="affinegfg2.png")


Output :



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads