我在PHP中对图像应用自己的算法。该算法逐像素处理三个输入图像(所有图像大小相同),并在输出图像中设置像素:
for ($x = 0; $x < $width; $x++)
{
for ($y = 0; $y < $height; $y++)
{
$color1 = imagecolorat ($image1, $x, $y);
$color2 = imagecolorat ($image2, $x, $y);
$color3 = imagecolorat ($image3, $x, $y);
$color4 = my_function ($color1, $color2, $color3);
imagesetpixel ($image4, $x, $y, $color4);
}
}
问题是,由于PHP是一种解释性语言,这对于大图像来说非常慢。
PHP中有一些特殊的方法可以有效地为数组的所有成员调用函数,如:array_map, array_filter, array_reduce, array_walk。
是否有类似的图像方法,即调用一个(或几个)图像的所有像素的一些函数?
或者也许有一种方法来访问图像作为数组在PHP?
恐怕你的这种说法是错误的。这些函数不是那么有效。无论如何,没有——GD库中没有类似的函数。PHP中有一些特殊的方法可以有效地调用数组
的所有成员的函数
你可以在谷歌上搜索一些像素访问库-我相信可能已经写好了。