Friday, June 05, 2009

ImageMagickとPHPで画像の暗い部分を明るくする

Imagickで画像の暗い部分を明るくするには、以下のコードを実行します。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja"
xml:lang="ja" dir="ltr">
<head>
<title>sample1108(ImageMagick6.5.2)</title>
</head>
<body>
<?php
$im = new Imagick("sf.jpg");
$im2 = $im->clone();
$im2->setImageMatte(true);
$im3 = $im2->fxImage("lightness<0.3?p:0", Imagick::CHANNEL_ALPHA);
$im3->modulateImage(160, 100, 100);
$im->compositeImage($im3, Imagick::COMPOSITE_OVER,
0, 0, Imagick::CHANNEL_ALL);
$im->writeImage('sample1108a.png');
$im3->destroy();
$im2->destroy();
$im->destroy();
?>
<img src="sample1108a.png" /><br />

</body>
</html>


元画像(sf.jpg)


出力画像(sample1108a.png)


関連項目
ImageMagickで画像の暗い部分を明るくする (convertコマンドでの同様の処理)

No comments: