многомерный массив — php Фильтрация изображений с использованием усреднения по Box

Я написал следующий код для фильтрации изображений с использованием усреднения по Box, я думаю, что все сделал правильно, хотя выходное изображение кажется темнее и фильтрация не выполнялась, возможно, я что-то упустил, может кто-то взглянуть на код и помогите мне, как я могу обновить код и получить желаемый результат.

<?php

$resource = imagecreatefrompng("t.png");

//$width = 3;
//$height = 3;

$width = imagesx($resource);
$height = imagesy($resource);
//put pixels values in an array
for($x = 0; $x < $width; $x++) {



$rValueSumForBox=$rValueSumForBox+$r; // Incrimenting Sum of the total r pixel values

$gValueSumForBox=$gValueSumForBox+$g; // Incrimenting Sum of the total g pixel values

$bValueSumForBox=$bValueSumForBox+$b; // Incrimenting Sum of the total b pixel values

$aValueSumForBox=$aValueSumForBox+$a; // Incrimenting Sum of the total b pixel values

//$pixelValueSumForBox= $pixelValueSumForBox+$boxPixelValue; // Adding the pixel value to the total sum


// echo "$xboxPixelAxis $yboxPixelAxis : >> $r $g $b $totalRGB $boxPixelValue &nbsp;&nbsp";

$yboxPixelAxis++;

}


$xboxPixelAxis++;

//   echo "<br>";

} // END OF BOX AVERAGE

$rValueAverageForBox=round($rValueSumForBox/($BoxXDimension*$BoxXDimension));

$gValueAverageForBox=round($gValueSumForBox/($BoxXDimension*$BoxXDimension));

$bValueAverageForBox=round($bValueSumForBox/($BoxXDimension*$BoxXDimension));

$aValueAverageForBox=round($aValueSumForBox/($BoxXDimension*$BoxXDimension));

$arrayPixels[$x][$y]=($rValueAverageForBox << 16) + ($gValueAverageForBox << 8) + $bValueAverageForBox + ($aValueAverageForBox << 24); // Assigning pixel
//new pixel value
//  echo "$x $y Actual: ".$arrayPixels[$x][$y]."&nbsp;"; echo "Average: ".$arrayAverage ."&nbsp;&nbsp";
}

//  echo "<br>";
}


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


for($x = 0; $x < $width; $x++) {
//  echo " $x2 <br>";
for($y = 0; $y < $height; $y++) {

// Allocate the color of the pixel
imagesetpixel($img, $x, $y, $arrayPixels[$x][$y]);


}
}


// // Set the image type
header('Content-Type: image/png');

// Create a png file from the image
imagepng($img,'NEW2.png');

// Free memory associated with the image
imagedestroy($img);

//*/

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]