라이브러리
[PHP] Imagick::getImageHistogram - 이미지 히스토그램을 가져옵니다.
Imagick::getImageHistogram
Imagick은 PHP에서 사용할 수 있는 이미지 처리 라이브러리입니다. Imagick::getImageHistogram은 이미지의 픽셀 값 분포를 반환하는 메서드입니다. 이 메서드는 이미지의 픽셀 값을 256개 구간으로 나누어 분포를 계산하여 반환합니다.
사용법
Imagick::getImageHistogram 메서드는 다음과 같은 형식으로 사용할 수 있습니다.
#hostingforum.kr
php
Imagick::getImageHistogram($image, $colors = 256, $normalize = false)
* `$image`: 처리할 이미지 객체
* `$colors`: 분포를 계산할 색상 구간의 수 (기본값: 256)
* `$normalize`: 분포를 정규화할지 여부 (기본값: false)
예제
다음 예제는 Imagick::getImageHistogram 메서드를 사용하여 이미지의 픽셀 값 분포를 계산하고 반환하는 방법을 보여줍니다.
#hostingforum.kr
php
// Imagick 객체 생성
$image = new Imagick('example.jpg');
// 이미지의 픽셀 값 분포 계산
$histogram = $image->getImageHistogram();
// 분포를 출력
for ($i = 0; $i < 256; $i++) {
echo "픽셀 값 $i: " . $histogram[$i] . "
";
}
이 예제에서는 `example.jpg` 이미지의 픽셀 값 분포를 계산하고, 분포를 256개 구간으로 나누어 각 구간의 픽셀 값 수를 출력합니다.
정규화
Imagick::getImageHistogram 메서드의 `$normalize` 매개변수를 true로 설정하면, 분포를 정규화하여 0에서 1 사이의 값으로 반환합니다. 정규화된 분포는 다음과 같이 계산됩니다.
#hostingforum.kr
php
$normalizedHistogram = array_map(function($value) use ($total) {
return $value / $total;
}, $histogram);
정규화된 분포를 출력하는 예제는 다음과 같습니다.
#hostingforum.kr
php
// 정규화된 분포 계산
$total = array_sum($histogram);
$normalizedHistogram = array_map(function($value) use ($total) {
return $value / $total;
}, $histogram);
// 정규화된 분포 출력
for ($i = 0; $i < 256; $i++) {
echo "픽셀 값 $i: " . $normalizedHistogram[$i] . "
";
}
이 예제에서는 분포를 정규화하여 0에서 1 사이의 값으로 반환하고, 정규화된 분포를 출력합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.