이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

imhist

영상 데이터의 히스토그램

설명

예제

[counts,binLocations] = imhist(I)는 회색조 영상 I의 히스토그램을 계산합니다. imhist 함수는 히스토그램 도수를 counts로 반환하고 Bin 위치를 binLocations로 반환합니다. 히스토그램의 Bin 개수는 영상 유형에 따라 결정됩니다.

선택적으로 GPU를 사용하여 히스토그램 도수와 Bin 위치를 계산할 수 있습니다(Parallel Computing Toolbox™가 필요함). 자세한 내용은 GPU를 사용한 영상 처리 항목을 참조하십시오.

[counts,binLocations] = imhist(I,n)은 히스토그램을 계산하는 데 사용되는 Bin 개수 n을 지정합니다.

[counts,binLocations] = imhist(X,map)은 컬러맵 map을 갖는 인덱스 영상 X의 히스토그램을 계산합니다. 히스토그램의 컬러맵에는 각 항목마다 Bin이 하나씩 있습니다.

이 구문은 GPU에서 지원되지 않습니다.

예제

imhist(___)는 히스토그램의 플롯을 표시합니다. 입력 영상이 인덱스 영상인 경우, 히스토그램은 픽셀 값의 분포를 컬러맵 map의 컬러바 위에 표시합니다.

IgpuArray일 때 이 구문을 사용하면 플롯이 표시되지 않습니다. imhist는 히스토그램 도수를 ans로 반환하지만, 히스토그램의 Bin 위치는 반환하지 않습니다.

예제

모두 축소

회색조 영상을 작업 공간으로 읽어 들입니다.

I = imread('pout.tif');

영상의 히스토그램을 표시합니다. I는 회색조 영상이므로, 기본적으로 히스토그램은 256개의 Bin을 가집니다.

imhist(I)

3차원 데이터셋을 불러옵니다.

load mristack

데이터의 히스토그램을 표시합니다. 영상이 회색조 영상이므로, imhist는 기본적으로 256개의 Bin을 사용합니다.

imhist(mristack)

uint16형 클래스의 배열을 만듭니다.

I = gpuArray(imread('pout.tif'));

히스토그램을 계산합니다. imhist는 GPU에서 실행될 때 히스토그램 플롯을 자동으로 표시하지 않기 때문에, 이 예제에서는 stem을 사용하여 히스토그램을 플로팅합니다.

[counts,x] = imhist(I);
stem(x,counts);

입력 인수

모두 축소

회색조 영상으로, 임의 차원의 숫자형 배열로 지정됩니다.

GPU를 사용하여 히스토그램 도수와 Bin 위치를 계산하려면 I를 숫자형 배열을 포함하는 gpuArray로 지정하십시오.

예: I = imread('cameraman.tif');

예: I = gpuArray(imread('cameraman.tif'));

데이터형: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Bin 개수로, 숫자형 스칼라로 지정됩니다. I가 회색조 영상이면, imhist는 Bin을 256개(디폴트 값) 사용합니다. I가 이진 영상이면, imhist는 Bin을 두 개 사용합니다.

예: [counts,x] = imhist(I,50);

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

인덱스 영상으로, 임의 차원의 숫자형 배열로 지정됩니다.

예: [X,map] = imread('trees.tif');

데이터형: single | double | uint8 | uint16 | logical

인덱스 영상 X와 연결된 컬러맵으로, cx3 행렬로 지정됩니다. 컬러맵의 길이는 적어도 X에서 가장 큰 인덱스 길이만큼은 되어야 합니다.

예: [X,map] = imread('trees.tif');

데이터형: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

출력 인수

모두 축소

히스토그램 도수로, 숫자형 배열로 반환됩니다. 인덱스 영상 X의 히스토그램을 계산해 보면 counts와 컬러맵 map의 길이가 같습니다.

GPU를 사용하여 히스토그램을 계산하면 counts는 숫자형 배열을 포함하는 gpuArray로 반환됩니다.

Bin 위치로, 숫자형 배열로 반환됩니다.

GPU를 사용하여 히스토그램을 계산하면 binLocations는 숫자형 배열을 포함하는 gpuArray로 반환됩니다.

  • 회색조 영상에서 n개의 히스토그램 Bin은 너비가 A/(n−1)인 반열린 구간에 각각 해당합니다. 특히 pth Bin은 다음의 반열린 구간에 해당합니다.

    A(p1.5)(n1)Bx<A(p0.5)(n1)B,

    여기서 x는 명암 값입니다. 스케일링 인자 A와 오프셋 B는 다음과 같이 영상 클래스의 유형에 따라 달라집니다.

     double형single형int8형int16형int32형uint8형uint16형uint32형논리형
    A112556553542949672952556553542949672951
    B001283276821474836480000

  • countsbinLocations에서 히스토그램을 표시하려면 명령 stem(binLocations,counts)를 사용하십시오.

확장 기능

참고 항목

| |

R2006a 이전에 개발됨