Cómo modificar el documento fotografiado para que se vea “escaneado”

¿Cómo puedo hacer esto en Python / PIL? Es decir, dados los cuatro puntos de un rectángulo desplazado (un documento fotografiado), haga que se vea como si estuviera escaneado. ¿Hay un algoritmo simple para ello?

Además, ¿hay alguna otra manipulación que deba hacer para que se vea más “similar a un escaneo”?

Quiero hacer una versión simple de este progtwig para mí mismo en Python.

Mira transform () con el método establecido en QUAD

http://effbot.org/imagingbook/image.htm

im.transform(size, QUAD, data) => image im.transform(size, QUAD, data, filter) => image 

Mapea un cuadrilátero (una región definida por cuatro esquinas) desde la imagen a un rectángulo con el tamaño dado.

Los datos son una tupla 8 (x0, y0, x1, y1, x2, y2, y3, y3) que contienen la esquina superior izquierda, inferior izquierda, inferior derecha y superior derecha del cuadrilátero de origen.