TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

O Projeto Cummy

Por:   •  21/5/2024  •  Trabalho acadêmico  •  1.093 Palavras (5 Páginas)  •  40 Visualizações

Página 1 de 5

<?php

// define o tamanho da janela do filtro

$window_size = 3;

// função que aplica o filtro Cummy em uma imagem

function cummy_filter($image_path, $window_size) {

// carrega a imagem

$image = imagecreatefromjpeg($image_path);

// obtem a largura e altura da imagem

$width = imagesx($image);

$height = imagesy($image);

// cria uma nova imagem para armazenar a imagem filtrada

$filtered_image = imagecreatetruecolor($width, $height);

// percorre todos os pixels da imagem

for ($x = 0; $x < $width; $x++) {

for ($y = 0; $y < $height; $y++) {

// obtém os valores dos pixels na janela

$values = array();

for ($i = -$window_size; $i <= $window_size; $i++) {

for ($j = -$window_size; $j <= $window_size; $j++) {

// verifica se o pixel está dentro da imagem

if ($x + $i >= 0 && $x + $i < $width && $y + $j >= 0 && $y + $j < $height) {

// obtém o valor do pixel na posição (x+i, y+j)

$rgb = imagecolorat($image, $x + $i, $y + $j);

$r = ($rgb >> 16) & 0xFF;

$g = ($rgb >> 8) & 0xFF;

$b = $rgb & 0xFF;

// calcula o valor do pixel usando uma função de peso assimétrica

$value = (0.1 * $r) + (0.6 * $g) + (0.3 * $b);

// armazena o valor do pixel na janela

array_push($values, $value);

}

}

}

// calcula a média dos valores da janela

$average = array_sum($values) / count($values);

// define a cor do pixel na imagem filtrada

$color = imagecolorallocate($filtered_image, $average, $average, $average);

imagesetpixel($filtered_image, $x, $y, $color);

}

...

Baixar como (para membros premium)  txt (3.2 Kb)   pdf (38.8 Kb)   docx (8.5 Kb)  
Continuar por mais 4 páginas »
Disponível apenas no TrabalhosGratuitos.com