Tarea
Dada una imagen con una línea, produzca o muestre una imagen con la línea extendida hasta el borde de la imagen. La línea es negra y el fondo es blanco. El tamaño de la imagen es 100x100
la imagen viene en cualquier formato razonable (por ejemplo jpg
, png
, ppm
, bmp
).
Formato de línea
Estoy usando una versión simplificada del algoritmo de línea de Bresenham para dibujar líneas. Las líneas solo tendrán una pendiente entera para que la línea nunca cubra parcialmente un píxel pero no lo coloree:
Como mínimo, la línea será de 3x3 a menos que la línea sea recta, en cuyo caso solo verá 3x1 o 1x3 en la imagen. Las líneas también tendrán un lado en el borde de la imagen, por lo que solo tendrá que extenderlo en una dirección.
Ejemplo (se .png
agregó una línea roja para que pueda verla):
Ejemplos reales ( .png
)
====================
====================
====================
====================
code-golf
geometry
image-processing
J Atkin
fuente
fuente
Respuestas:
Mathematica, 125 bytes
Explicación
ImageLines
detectar líneas en la imagen con el métodoRANSAC
. Tomamos la primera línea detectada y la convertimos de nuevo en una imagen. Toda la función toma una imagen como argumento y devuelve una imagen.fuente