在 PHP 中,可以使用 GD 庫或 ImageMagick 庫進(jìn)行圖像處理,包括銳化操作。以下是使用這兩種庫進(jìn)行銳化的示例代碼:
<?php
function sharpen_image($input_image, $output_image, $radius = 1, $sigma = 1) {
$image = imagecreatefromjpeg($input_image);
$width = imagesx($image);
$height = imagesy($image);
for ($x = 0; $x < $width; $x++) {
for ($y = 0; $y < $height; $y++) {
$dx = $x - floor($width / 2);
$dy = $y - floor($height / 2);
$value = 0;
for ($i = -$radius; $i <= $radius; $i++) {
for ($j = -$radius; $j <= $radius; $j++) {
$ni = $x + $i;
$nj = $y + $j;
if ($ni >= 0 && $ni < $width && $nj >= 0 && $nj < $height) {
$value += getPixelValue($image, $ni, $nj) * (1 + 2 * $sigma * $i / $width);
}
}
}
setPixelValue($image, $x, $y, min(255, max(0, $value)));
}
}
imagejpeg($image, $output_image);
imagedestroy($image);
}
function getPixelValue($image, $x, $y) {
if ($x >= 0 && $x < imagesx($image) && $y >= 0 && $y < imagesy($image)) {
return imagecolorat($image, $x, $y);
}
return 0;
}
function setPixelValue($image, $x, $y, $value) {
imagesetpixel($image, $x, $y, $value);
}
$input_image = 'input.jpg';
$output_image = 'output.jpg';
sharpen_image($input_image, $output_image);
?>
首先,確保已經(jīng)安裝了 ImageMagick 庫。然后,可以使用以下代碼進(jìn)行銳化操作:
<?php
function sharpen_image($input_image, $output_image, $radius = 1, $sigma = 1) {
$image = new Imagick($input_image);
$image->sharpenImage(new ImagickPixel('none'), $radius, $sigma);
$image->writeImage($output_image);
$image->clear();
$image->destroy();
}
$input_image = 'input.jpg';
$output_image = 'output.jpg';
sharpen_image($input_image, $output_image);
?>
在這兩個(gè)示例中,sharpen_image
函數(shù)接受輸入圖像文件名、輸出圖像文件名以及銳化半徑和sigma值作為參數(shù)??梢愿鶕?jù)需要調(diào)整這些參數(shù)以獲得不同的銳化效果。