Estou tentando criar um programa para ler uma imagem. Por exemplo: eu tenho uma foto de um portão que tem ondas no meio. acima das ondas eu tenho grades e abaixo das ondas eu tenho chapa ondulada.
preciso que o programa calcule quantos % de grade há e quantos % de chapa há.
tenho uma vaga idéia de o que fazer, mas o primeiro passo está me frustrando.
quero copiar todos os pixels de uma determinada cor da imagem 1 para outra imagem que criei. Mas antes quero copiar TODOS os pixels atraves de cores para ver se está tudo certo.
eis meu código:
<?php
$img_original = imagecreatefromjpeg("fotoa.jpg");
$iowidth = imagesx($img_original);
$ioheight = imagesy($img_original);
//cria a imagem original. busca pelo seu tamanho em width e height.
$img_copia = imagecreate($iowidth, $ioheight);
//cria uma nova imagem com o mesmo tamanho da imagem anterior.
$cinza = imagecolorallocate($img_copia, 240, 240, 240);
//aloca cores para a imagem cópia.
imagefill($img_copia, 0, 0, $cinza);
//seta a cor de fundo para a imagem cópia.
for($ix = 0; $ix < $iowidth; $ix++){
for($iy = 0; $iy < $ioheight; $iy++){
$rgb = ImageColorAt($img_original, $ix, $iy);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
//verifica a cor de cada pixel da imagem original.
$cio = imagecolorallocate($img_copia, $r, $g, $b);
//aloca para a imagem cópia a cor do pixel da imagem original.
imagesetpixel($img_copia, $ix, $iy, $cio);
//seta um pixel na imagem cópia, com a cor do pixel obtido da imagem original.
imagecolordeallocate($img_copia, $cio);
//desaloca a cor criada
}
}
header("Content-type:image/jpeg");
//define o cabeçalho do documento como uma imagem jpeg.
imagejpeg($img_copia);
//desenha a imagem cópia.
imagedestroy($img_copia);
imagedestroy($img_original);
//destroy as duas imagens.
?>
o problema é que não aparece nada senão o fundo :blink:
Pergunta
Jair Humberto
Olá pessoal,
sou novo no forum.
Estou tentando criar um programa para ler uma imagem. Por exemplo: eu tenho uma foto de um portão que tem ondas no meio. acima das ondas eu tenho grades e abaixo das ondas eu tenho chapa ondulada.
preciso que o programa calcule quantos % de grade há e quantos % de chapa há.
tenho uma vaga idéia de o que fazer, mas o primeiro passo está me frustrando.
quero copiar todos os pixels de uma determinada cor da imagem 1 para outra imagem que criei. Mas antes quero copiar TODOS os pixels atraves de cores para ver se está tudo certo.
eis meu código:
o problema é que não aparece nada senão o fundo :blink:
alguém poderia me ajudar nisso?
Editado por Jair HumbertoLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.