> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/workflows/ko/blocks/blocks/classical-computer-vision/pixel-color-count.md).

# 픽셀 색상 개수

이미지에서 지정한 허용 오차 범위 내에서 대상 색상과 일치하는 픽셀을 세고, 색상 범위 마스킹을 사용해 일치하는 픽셀을 식별한 뒤, 색상 분석, 품질 관리, 색상 기반 측정, 픽셀 수준 색상 정량화 워크플로를 위해 색상 허용 오차 범위 내 픽셀의 총 개수를 반환합니다.

## 이 블록의 작동 방식

이 블록은 허용 오차 범위 내에서 이미지의 픽셀이 특정 대상 색상과 얼마나 일치하는지 세어, 픽셀 수준 색상 정량화를 제공합니다. 이 블록:

1. 입력 이미지와 대상 색상 지정값(16진수 문자열, RGB 튜플 문자열 또는 RGB 튜플)을 받습니다
2. OpenCV 처리를 위해 대상 색상을 BGR(Blue-Green-Red) 형식으로 변환합니다:
   * 16진수 색상 문자열을 파싱합니다(예: "#431112" 또는 "#412" 축약형)
   * RGB 튜플 문자열을 파싱합니다(예: "(128, 32, 64)")
   * RGB 튜플을 직접 처리합니다(예: (18, 17, 67))
   * OpenCV가 BGR을 사용하므로 RGB를 BGR 형식으로 변환합니다(색상 채널 순서를 반전)
3. 색상 허용 오차 경계를 계산합니다:
   * 대상 색상의 각 BGR 채널에서 허용 오차를 빼 하한을 만듭니다
   * 대상 색상의 각 BGR 채널에 허용 오차를 더해 상한을 만듭니다
   * 각 채널의 유효한 0-255 범위로 경계를 제한합니다
   * BGR 공간에서 일치하는 픽셀이 들어가야 하는 3차원 색상 큐브를 정의합니다
4. OpenCV의 inRange 함수를 사용해 이진 마스크를 생성합니다:
   * 각 픽셀의 BGR 값을 하한 및 상한과 비교합니다
   * 픽셀 색상이 허용 오차 범위 내에 있으면 마스크 픽셀을 255(흰색)로 설정합니다
   * 픽셀 색상이 허용 오차 범위를 벗어나면 마스크 픽셀을 0(검은색)으로 설정합니다
   * 전체 이미지에 걸쳐 효율적인 픽셀 수준 비교를 위해 벡터화된 연산을 사용합니다
5. 일치하는 픽셀을 계산합니다:
   * 마스크에서 0이 아닌 픽셀(값이 255인 픽셀, 즉 일치 항목)을 셉니다
   * 허용 오차 내에서 대상 색상과 일치하는 픽셀의 총 개수를 반환합니다

이 블록은 허용 오차 기반 접근 방식을 사용해 픽셀 수준 색상 일치를 수행하므로, 압축, 조명 또는 이미지 처리로 인한 미세한 색상 변화를 허용합니다. 허용 오차는 대상 색상 주변의 범위를 만드는데, 허용 오차 10은 각 BGR 채널에서 최대 ±10까지 달라질 수 있음을 의미합니다(채널당 총 21개 값의 범위). 낮은 허용 오차 값(예: 5-10)은 매우 근접한 색상 일치를 요구하고, 높은 허용 오차 값(예: 20-30)은 더 많은 색상 변화를 허용합니다. 이는 이미지 아티팩트나 처리 때문에 정확히 일치하는 색상이 없을 수 있을 때 특정 색상의 픽셀 수를 세는 데 유용합니다.

## 일반적인 사용 사례

* **색상 영역 측정**: 이미지에서 특정 색상의 면적이나 범위를 측정합니다(예: 이미지에서 특정 색상의 범위를 측정하고, 색상 분포를 정량화하며, 색상 비율을 평가함), 색상 영역 정량화 워크플로를 가능하게 함
* **품질 관리 및 검사**: 품질 관리용으로 예상 색상의 픽셀을 셉니다(예: 제품의 색상 일관성 검증, 색상 결함 감지, 이미지에서 예상 색상 검증), 색상 기반 품질 관리 워크플로를 가능하게 함
* **색상 기반 분석**: 이미지에서 특정 색상의 존재 여부나 양에 따라 이미지를 분석합니다(예: 이미지의 색상 분포 분석, 색상 사용량 정량화, 색상 특성 측정), 색상 정량화 분석 워크플로를 가능하게 함
* **이미지 처리 검증**: 예상 색상을 계산하여 이미지 처리 결과를 검증합니다(예: 색상 변환 검증, 색상 보정 검증, 색상 필터링 결과 확인), 색상 검증 워크플로를 가능하게 함
* **특징 감지 및 측정**: 색상 특성을 기반으로 특징을 감지하고 측정합니다(예: 색상 영역의 픽셀 수 계산, 색상 기반 특징 측정, 색상으로 정의된 영역 정량화), 색상 기반 특징 측정 워크플로를 가능하게 함
* **임계값 기반 색상 감지**: 픽셀 수 계산을 사용해 임계값 기반 색상 감지를 수행합니다(예: 충분한 픽셀이 색상과 일치하는지 감지, 색상 존재 임계값 결정, 색상 기반 트리거 구현), 임계값 기반 색상 감지 워크플로를 가능하게 함

## 다른 블록에 연결하기

이 블록은 이미지와 대상 색상을 받아 픽셀 수를 생성합니다:

* **이미지 입력 블록 뒤에** 입력 이미지에서 특정 색상의 픽셀을 세기 위해(예: 카메라 피드의 색상 픽셀 수 계산, 이미지 입력의 색상 분석, 이미지의 색상 정량화), 색상 픽셀 계산 워크플로를 가능하게 함
* **자르기 블록 뒤에** 특정 이미지 영역에서 픽셀을 세기 위해(예: 잘라낸 영역의 색상 픽셀 수 계산, 특정 영역의 색상 분석, 선택한 영역의 색상 정량화), 영역 기반 색상 픽셀 계산을 가능하게 함
* **전처리 블록 뒤에** 이미지 처리 후 픽셀을 세기 위해(예: 필터링 후 색상 수 계산, 향상 후 색상 분석, 변환 후 색상 정량화), 처리된 이미지 색상 계산 워크플로를 가능하게 함
* **필터링 또는 로직 블록 전에** 픽셀 수를 의사결정에 사용하는 경우(예: 픽셀 수를 기준으로 필터링, 색상 수량에 기반해 결정, 픽셀 수에 따른 로직 적용), 개수 기반 조건 워크플로를 가능하게 함
* **데이터 저장 블록 앞에서** 픽셀 수 정보를 저장하기 위해(예: 이미지와 함께 색상 픽셀 수 저장, 색상 분석 결과 저장, 색상 정량화 데이터 기록), 색상 개수 메타데이터 저장 워크플로를 가능하게 함
* **품질 관리 워크플로에서** 픽셀 수 계산이 색상 특성을 검증하는 경우(예: 품질 관리에서 색상 수량 검증, 색상 범위 검증, 색상 일관성 확인), 색상 기반 품질 관리 워크플로를 가능하게 함

### 유형 식별자

단계에서 다음 식별자를 사용하세요 `"type"` 필드: `roboflow_core/pixel_color_count@v1` 워크플로우에 이 블록을 단계로 추가하려면.

### 속성

| **이름**         | **유형**                             | **설명**                                                                                                                                                                                                                                                                                                                                                                                                    | 참조 |
| -------------- | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -- |
| `name`         | `str`                              | 이 단계에 대한 고유 식별자를 입력하세요..                                                                                                                                                                                                                                                                                                                                                                                  | ❌  |
| `target_color` | `Union[Tuple[int, int, int], str]` | 이미지에서 계산할 대상 색상입니다. 여러 형식으로 지정할 수 있습니다: (1) 16진수 문자열 형식: '#RRGGBB'(6자리, 예: '#431112') 또는 '#RGB'(3자리 축약형, 예: '#412'), (2) RGB 튜플 문자열 형식: '(R, G, B)'(예: '(128, 32, 64)'), 또는 (3) RGB 튜플: 정수로 이루어진 (R, G, B) 튜플(예: (18, 17, 67)). 값은 RGB 색 공간(채널당 0-255)에 있어야 합니다. 이 색상은 OpenCV 처리를 위해 자동으로 BGR 형식으로 변환됩니다. 픽셀을 계산할 정확한 색상을 지정할 때 사용하세요..                                                                   | ✅  |
| `tolerance`    | `정수`                               | 색상 일치 허용 오차 값(0-255)입니다. 각 BGR 채널이 대상 색상에서 얼마나 달라질 수 있는지, 그리고 여전히 일치로 간주될 수 있는지를 결정합니다. 허용 오차는 각 색상 채널에 독립적으로 적용됩니다. 허용 오차 10은 각 BGR 채널에 대해 ±10 범위(채널당 총 21개 값의 범위)를 만듭니다. 낮은 값(예: 5-10)은 매우 근접한 색상 일치를 요구하며 더 정밀하지만 약간 다른 색조를 놓칠 수 있습니다. 높은 값(예: 20-30)은 더 많은 색상 변화를 허용하고 더 넓은 범위의 유사한 색상과 일치하지만 의도하지 않은 색상이 포함될 수 있습니다. 기본값은 10이며, 이는 좋은 균형을 제공합니다. 이미지 품질, 압축 아티팩트, 그리고 색상 일치를 얼마나 엄격하게 할지에 따라 조정하세요.. | ✅  |

이 **참조** 열은 워크플로우 런타임에서 사용 가능한 동적 값으로 속성을 매개변수화할 수 있는 가능성을 나타냅니다 `워크플로우` 런타임입니다. 자세한 내용은 *바인딩* 을 참조하세요.

### 입력 및 출력 바인딩

사용 가능한 연결은 바인딩 유형에 따라 달라집니다. 어떤 바인딩 유형인지 확인하세요 `픽셀 색상 개수` 버전 `v1` 을 가지고 있는지.

<details>

<summary>입력 및 출력 바인딩</summary>

* 입력
  * `이미지` ([*`이미지`*](/workflows/ko/developer-guide/developer-guide/kinds/image.md)): 픽셀 색상 계산을 위해 분석할 입력 이미지입니다. 이 블록은 이 이미지에서 지정된 tolerance 내에서 target\_color와 일치하는 픽셀을 셉니다. 이미지의 모든 픽셀이 분석됩니다. 이미지는 BGR 형식(OpenCV 표준)으로 처리되며, 각 픽셀의 BGR 값을 기준으로 색상 일치가 수행됩니다. 처리 시간은 이미지 크기에 따라 달라집니다..
  * `target_color` (*Union\[*[*`rgb_color`*](/workflows/ko/developer-guide/developer-guide/kinds/rgb-color.md)*,* [*`string`*](/workflows/ko/developer-guide/developer-guide/kinds/string.md)*]*): 이미지에서 계산할 대상 색상입니다. 여러 형식으로 지정할 수 있습니다: (1) 16진수 문자열 형식: '#RRGGBB'(6자리, 예: '#431112') 또는 '#RGB'(3자리 축약형, 예: '#412'), (2) RGB 튜플 문자열 형식: '(R, G, B)'(예: '(128, 32, 64)'), 또는 (3) RGB 튜플: 정수로 이루어진 (R, G, B) 튜플(예: (18, 17, 67)). 값은 RGB 색 공간(채널당 0-255)에 있어야 합니다. 이 색상은 OpenCV 처리를 위해 자동으로 BGR 형식으로 변환됩니다. 픽셀을 계산할 정확한 색상을 지정할 때 사용하세요..
  * `tolerance` ([*`정수`*](/workflows/ko/developer-guide/developer-guide/kinds/integer.md)): 색상 일치 허용 오차 값(0-255)입니다. 각 BGR 채널이 대상 색상에서 얼마나 달라질 수 있는지, 그리고 여전히 일치로 간주될 수 있는지를 결정합니다. 허용 오차는 각 색상 채널에 독립적으로 적용됩니다. 허용 오차 10은 각 BGR 채널에 대해 ±10 범위(채널당 총 21개 값의 범위)를 만듭니다. 낮은 값(예: 5-10)은 매우 근접한 색상 일치를 요구하며 더 정밀하지만 약간 다른 색조를 놓칠 수 있습니다. 높은 값(예: 20-30)은 더 많은 색상 변화를 허용하고 더 넓은 범위의 유사한 색상과 일치하지만 의도하지 않은 색상이 포함될 수 있습니다. 기본값은 10이며, 이는 좋은 균형을 제공합니다. 이미지 품질, 압축 아티팩트, 그리고 색상 일치를 얼마나 엄격하게 할지에 따라 조정하세요..
* 출력
  * `matching_pixels_count` ([`정수`](/workflows/ko/developer-guide/developer-guide/kinds/integer.md)): 정수 값.

</details>

<details>

<summary>예시 JSON 정의</summary>

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/pixel_color_count@v1",
	    "image": "$inputs.image",
	    "target_color": "#431112",
	    "tolerance": 10
	}
```

</details>
