La perspectiva es otro tipo de método de distorsión en la función de distorsión. Representa la imagen en perspectiva basada en argumentos. La distorsión de perspectiva requiere 4 pares de puntos, lo que da un total de 16 dobles. El orden de los argumentos es grupos de pares de coordenadas de origen y destino.
src1x, src1y, dst1x, dst1y, src2x, src2y, dst2x, dst2y, src3x, src3y, dst3x, dst3y, src4x, src4y, dst4x, dst4y
Sintaxis:
wand.image.distort('perspective', arguments')
Imagen de origen:
Ejemplo 1:
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.virtual_pixel = 'background' img.background_color = Color('green') img.matte_color = Color('skyblue') arguments = (0, 0, 20, 60, 90, 0, 70, 63, 0, 90, 5, 83, 90, 90, 85, 88) # perspective distortion using distort function img.distort('perspective', arguments) img.save(filename ='gfg_p.png')
Producción:
Ejemplo #2: Dividir puntos de origen y destino usando la string itertools
Python3
from itertools import chain # 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' sp = ( (0, 0), (140, 0), (0, 92), (140, 92) ) dp = ( (14, 4.6), (126.9, 9.2), (0, 92), (140, 92) ) order = chain.from_iterable(zip(sp, dp)) arguments = list(chain.from_iterable(order)) img.distort('perspective', arguments) img.save(filename ='gfg_p2.png')
Producción:
Publicación traducida automáticamente
Artículo escrito por RahulSabharwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA