Só a título de curiosidade. Estou fazendo uma pequena biblioteca de processamento de imagens em JavaScript. Quem quiser acompanhar o trabalho: https://github.com/ViniGodoy/nicepic
Já inclui uma série de filtros: grayscale, sepia, câmera instantânea, binarização, negativo, transformação de cores, brilho, convolução, suavização (blur), sharpen, alto-relevo (emboss) e os detectores de bordas de laplace, sobel e prewitt. Também é possível fazer algumas operações para misturar imagens: soma, subtração, multiplicação, interpolação e uso de máscara para gerar canal alfa.
Tem suporte também a máscaras e carga de imagens usando FileReader.
Tudo com uma sintaxe simples, e já com processamento dividido para não travar o browser mesmo nos filtros mais pesados.
O projeto só é testado no Chrome, e usa agressivamente recursos novos do ES6.
Na sequencia pretendo incluir filtros que envolvam calculos de histograma (como correção automática de contraste, calculo de limiar de otsu) e também alguns usando o espaço de cor HSV. Depois partir para a parte de morfologia matemática.
[quote=Ataxexe]Não sei o que eu gostei mais: da biblioteca ou de ter aprendido o Promise
Ainda só dei uma olhada nos códigos…em casa vou me divertir mais com isso.
Valeu pela iniciativa, Vini![/quote]
Valeu. Contribuições e críticas são bem-vindas.
Claro, isso é mais para ter um bom motivo para estudar JS e as coisas novas, do que propriamente para ter uma lib super útil. Ela jamais teria como competir em performance com os filters do css (embora ela contenha bem mais filtros do que o css propõe).
[quote=ViniGodoy][quote=Ataxexe]Não sei o que eu gostei mais: da biblioteca ou de ter aprendido o Promise
Ainda só dei uma olhada nos códigos…em casa vou me divertir mais com isso.
Valeu pela iniciativa, Vini![/quote]
Valeu. Contribuições e críticas são bem-vindas.
Claro, isso é mais para ter um bom motivo para estudar JS e as coisas novas, do que propriamente para ter uma lib super útil. Ela jamais teria como competir em performance com os filters do css (embora ela contenha bem mais filtros do que o css propõe).[/quote]
Também sigo essa linha. É muito legal aprender algo novo aplicado a uma área que a gente gosta. Fiquei vendo os exemplos aqui e me lembrei de quando eu brincava com filtros no Matlab (não cheguei a ir tão longe quanto os seus exemplos, mas achava muito legal usar o Matlab pra isso).
A propósito, todos os exemplos funcionam no Firefox (pelo menos na versão 31). Não sei se com o mesmo desempenho do Chrome porque não tenho ele aqui pra testar.
Ficaram rápidos no FF? Deixaram o navegador travadão?[/quote]
Em torno de 2 segundos na minha máquina. Algumas convoluções demoram um pouco mais (entre 4 a 6) e em todos os casos o navegador trava enquanto não terminar o processamento.
Depois quero ver se ponho algumas dicas de filtros ali também. Por exemplo, combine o filtro pixelate com filtro de sharpen. O resultado fica bem legal.
Nossa, bem diferente do Chrome. A maioria roda praticamente instantaneo e sem travar o navegador. Vc pode evitar o travamento chamando o comando setCpuPower e passando um valor menor. Hoje está em 20.000. Talvez diminuir para 10.000 ou 5.000. Esse valor é o número de pixels processados sem que a lib dê um “yield”. Mas claro, vai demorar mais a processar.
Se quiser ser hardcore e deixar travando mesmo, passa 0. Aí ele vai processar todos os pixels sem dar margem para descanso, hehehehe.
Nossa, bem diferente do Chrome. A maioria roda praticamente instantaneo e sem travar o navegador. Vc pode evitar o travamento chamando o comando setCpuPower e passando um valor menor. Hoje está em 20.000. Talvez diminuir para 10.000 ou 5.000. Esse valor é o número de pixels processados sem que a lib dê um “yield”. Mas claro, vai demorar mais a processar.
Se quiser ser hardcore e deixar travando mesmo, passa 0. Aí ele vai processar todos os pixels sem dar margem para descanso, hehehehe.[/quote]
Vou tentar isso aqui então… Mas fiquei curioso pra ver no Chome, vou instalar ele aqui pra dar uma olhada.
E depois com alguns experimentos em webgl.[/quote]
Comecei a assistir aqui e achei muito fera a proposta…o problema é que eu sou suspeito pra opinar sobre qualquer coisa relacionada a jogos porque pra mim jogos eletrônicos são o bacon virtual
[quote=Ataxexe]Comecei a assistir aqui e achei muito fera a proposta…o problema é que eu sou suspeito pra opinar sobre qualquer coisa relacionada a jogos porque pra mim jogos eletrônicos são o bacon virtual
Vou baixar pra assistir com mais calma depois.[/quote]
Nesse caso, nós dois somos suspeitos para falar. heheheh