라이브러리

[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 사이의 값으로 반환하고, 정규화된 분포를 출력합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 485 페이지

검색

게시물 검색