Em http://meta.stackoverflow.com , temos alguns memes próprios. Um deles são os círculos vermelhos à mão livre.
Veja este post :
Então, o desafio é,
você pode desenhar círculos vermelhos à mão livre ... com código?
Restrições adicionais:
- Você capturará uma imagem como entrada e deverá produzi-la com o círculo vermelho à mão livre adicionado.
- Deve ser previsível, ou seja, a mesma entrada de imagem deve resultar na mesma saída. Você pode usar a aleatoriedade, mas os resultados devem ser consistentes para a mesma entrada.
- A saída deve ser exatamente a mesma imagem que a entrada, exceto com círculo (sem outras alterações).
- O círculo vermelho à mão livre deve parecer à mão livre (sem círculos perfeitos!), Ser vermelho (obviamente) e parecer geralmente com um círculo (sem linhas onduladas aleatórias).
Como é um concurso de popularidade , a resposta com mais votos positivos no início de março de 2014 será vitoriosa. Não há um objetivo específico, além de "círculos vermelhos à mão livre", portanto seja o mais criativo possível para obter o máximo de votos! (Para ser o mais imparcial possível, votarei em qualquer resposta que siga as regras.)
popularity-contest
image-processing
Maçaneta da porta
fonte
fonte
Respostas:
C - cerca de
750720 bytes se espremido *Acho que criei algo que parece à mão livre o suficiente.
MAGIC
númeroCompilar:
Corre:
Exemplo:
Antes:
Depois de:
Código:
* e usando
U
paraUNIFORM
eM
paraMAGIC
fonte
Biblioteca C + GD
Em vez de apenas desenhar círculos onde quer que fosse, pensei que seria divertido encontrar algo vermelho na imagem e desenhar um círculo em torno disso.
Aqui estão alguns exemplos dos resultados obtidos com um algumas fotos de Wikimedia Commons :
E aqui está o código. É um pouco confuso, mas não muito difícil de seguir, espero:
Nota: O Markdown atrapalhou o meu link nos comentários, então vou apenas salientar que o código usa a segmentação para identificar todas as áreas de vermelho na imagem e, em seguida, desenha um círculo ao redor da maior delas. Por exemplo, esta imagem :
produz a seguinte saída:
fonte
Mathematica
f
usa os seguintes parâmetros:Exemplos
Um raio diferente, localização, cor azul, curso mais espesso, exibição de eixos.
fonte
SeedRandom
parece fazer o truque.