Como gerar imagens com o PHP pixel a pixel

Como gerar imagens com o PHP pixel a pixel

Para que todos possam entender como cheguei neste tema, vou explicar o problema que eu mesmo criei abaixo.

Um dos meus hobbies de longe é a astronomia, a un nível amador, mas com muito estudo e isso me da algum tipo de prazer. Pois para quem não esta muito por dentro, hoje em dia a astronomia se faz muito mais com aparatos eletrônicos e captura de imagens do que somente observar com os seus olhos através da ocular de um telescópio.

Dito isto, um dos maiores trabalhos que temos, é em relação a tratar imagens, modificar imagens, empilhar imagens para obter um certo grau de luminosidade e assim ter aquelas fotos maravilhosas que vemos na internet. Para isso precisamos de ferramentas, softwares etc, e uma das coisas que eu gostaria de fazer com minhas imagens é a detecção das estrelas reais da foto, suas posições e criar para isso um array de onde estas estrelas estão em uma imagem.

 

Para isso comecei a escrever um script em PHP, ainda não está terminado, mas o resultado até aqui já é satisfatório para outras necesidades que você possa ter, então vou deixar aqui o código, o link do repositorio e a explicação até o momento atual. (Se isto foi útil pra você deixe seu comentário por favor).

Começamos…

Vamos criar uma estrutura para nosso projeto.

MinhaPasta/
                    → /imgs/
                              → (Aqui Ficam as Imagens que vamos usar)
                    → /seuScript.php

No meu projeto está assim: 

Vamos ao código, com comentários e tudo mais.

Você pode encontrar uma cópia deste código de maneira mais legível dentro do GitHub: https://github.com/davidsnege/FabrikaDev/blob/master/php/cor_imagem/cor_pixel.php

Se você ler todos os comentários acima você vai ver como está fácil de entender, você a partir disso pode fazer várias coisas com a imagem, inclusive salvar um array das posições dos pixels que te interessam.

Veja um exemplo da execução.

Imagem Depois de Pasar pelo script
Imagem Antes de Passar pelo script

Notem que consegui separar somente os pixels que estão dentro dos requisitos da variavel ($sensitive = «120»;). Todas as configurações atuais da imagem que podem ser testadas até o momento são setadas aqui: 

//*************************************************************/
// Confirguracao de formacao de imagem
$bwwb = "wb"; // Esta configuração tem varios parametros
$sensitive = "120";
$wColor = "0";
$bColor = "255";
//*************************************************************/

O parâmetro da variável $bwwb pode ser alterado se você olhar as opções que existem dentro dos Case Switch 

switch ($bwwb) {
                    case 'bw': // bw Preto e Branco
                            if($r && $g && $b >= $sensitive){
                                $r = $wColor;
                                $g = $wColor;
                                $b = $wColor;
                            }else{
                                $r = $bColor;
                                $g = $bColor;
                                $b = $bColor;                    
                            }
                    break;
                    case 'bwc': // bw Preto e Branco
                            if($r && $g && $b >= $sensitive){
                                $r = $wColor;
                                $g = $wColor;
                                $b = $wColor;
                            }else{
                                $r = $r;
                                $g = $g;
                                $b = $b;                    
                            }
                    break; ***--------......................

Espero que até aqui tenha ajudado alguém a fazer bom uso deste recurso que o PHP oferece, sempre que desejar saber todos parâmetros de um comando PHP vá até a documentação oficial do php, lá você pode encontrar muita coisa útil para seu código.

Outros exemplos abaixo.

David Snege

You must be logged in to post a comment

Traducir »