Pixel Counter
1 개요
Pixel Counter는 원본 이미지에서 사용자가 지정한 임계값과 논리 조건을 기반으로 해당 조건을 만족하는 픽셀의 개수를 계산하는 알고리즘입니다.
2 알고리즘 상세 설명
알고리즘 동작 전 설정해야 할 주요 파라미터는 다음과 같습니다:
Threshold Mode
Single
: 하나의 논리 조건을 만족하는지 확인합니다.Dual
: 두 개의 논리 조건을 만족하는지 확인합니다.And
: 두 조건을 모두 만족해야 참입니다.Or
: 두 조건중 하나라도 만족하는 경우 참입니다.
Threshold Condition
설정 가능한 6가지 논리 조건을 사용하여 임계값을 기반으로 참인 픽셀을 계산합니다.
Greater
: 임계값보다 큰 경우 참Greater Equal
: 임계값보다 크거나 같은 경우 참Lesser
: 임계값보다 작은 경우 참Lesser Equal
: 임계값보다 작거나 같은 경우 참Equal
: 임계값과 동일한 경우 참Not Equal
: 임계값과 다른 경우 참
Threshold Value
논리 조건에 사용할 임계값을 설정합니다.
원본 이미지 데이터 타입의 표현 범위를 초과하는 경우 Invalid Parameter를 반환합니다.
N채널 이미지의 경우 각 채널별로 다른 논리 조건과 임계값을 설정할 수 있으며, 모든 논리 조건을 만족해야 참인 픽셀로 처리됩니다.
동작 예시
Source Image | Result Information |
---|---|
![]() |
![]() |
Fig. Pixel Counter 동작 예시
원본 이미지의 자료형은 uint8_t
이며, 860 x 860 크기의 이미지입니다.\
- 파라미터 설정:
- Threshold Mode : Single
- Threshold Condition : Greater
- Threshold Value : 127
동작 결과는 Result Information 다이얼로그에서 확인할 수 있으며, 아래 정보를 제공합니다:
- 현재 페이지 번호 (Batch 동작을 고려)
- 총 픽셀 수
- 조건에 참인 픽셀 수
- 조건에 거짓인 픽셀 수
결과는 CSV 파일로 저장할 수 있습니다.
3 예제
CPixelCounter PixelCounter;
CFLImage fliSourceImage;
PixelCounter.SetSourceImage(fliSourceImage);
CMultiVar<int64_t> mvLogicalCondition;
mvLogicalCondition.PushBack((int64_t)ELogicalCondition_GreaterEqual);
PixelCounter.SetLogicalCondition(mvLogicalCondition);
PixelCounter.Execute();