Tarefa
Dada uma imagem com uma linha, produza ou exiba uma imagem com a linha estendida até a borda da imagem. A linha é preta e o fundo é branco. O tamanho da imagem é 100x100
A imagem vem em qualquer formato razoável (por exemplo jpg
, png
, ppm
, bmp
).
Formato de linha
Estou usando uma versão simplificada do algoritmo de linha de Bresenham para desenhar linhas. As linhas terão apenas uma inclinação inteira, de modo que a linha nunca cubra parcialmente um pixel, mas não o colorirá:
No mínimo, a linha será 3x3, a menos que seja reta; nesse caso, você verá apenas 3x1 ou 1x3 na imagem. As linhas também terão um lado na borda da imagem, portanto você só precisará estendê-lo em uma direção.
Exemplo ( .png
linha vermelha adicionada para que você possa vê-lo):
Exemplos reais ( .png
)
====================
====================
====================
====================
code-golf
geometry
image-processing
J Atkin
fonte
fonte
Respostas:
Mathematica, 125 bytes
Explicação
ImageLines
detectar linhas na imagem com o métodoRANSAC
. Pegamos a primeira linha detectada e a convertemos novamente em uma imagem. Toda a função pega uma imagem como argumento e retorna uma imagem.fonte