SLOHERO
14

PHOTOSHOT / DEVELOPMENT JOURNAL

기준값 하나로
검정과 흰색 나누기

임계값은 픽셀의 밝기를 숫자 하나로 구한 뒤, 기준 이상이면 흰색으로 바꾸는 기능입니다. 원래 색을 어떤 비율로 밝기에 반영하는지가 결과를 결정합니다.

조정 레이어 14 · 임계값
2026.10.01 · SLOHERO · 공개 코드 v0.16.0 기준
보정 전임계값 보정 전 AI 생성 인물 예시
보정 후임계값 보정 후 AI 생성 인물 예시
AI 생성 인물 원본에 공개 코드 v0.16.0의 해당 조정만 적용한 결과입니다. 각 글에 설정과 불투명도를 적었습니다. 패널은 기존 릴스 제작 때 캡처한 실제 화면입니다.

14편의 예제는 기준값 152, 불투명도 100%입니다. 편집 화면에서는 같은 기능이 ‘한계값’으로 표시됩니다.

  1. 01슬라이더와 히스토그램을 함께 보여줍니다
  2. 02색마다 다른 비율로 밝기에 반영합니다
  3. 03기준과 같은 값은 흰색으로 처리합니다
  4. 04흑백 레이어와 임계값을 구분했습니다
01

슬라이더와 히스토그램을 함께 보여줍니다

기준값은 0~255 범위이며 기본값은 128입니다. 예제에서는 96·128·152 순으로 올렸습니다. 기준을 올릴수록 흰색으로 남으려면 더 밝아야 합니다.

패널에는 밝기 분포와 현재 기준값의 위치를 함께 표시했습니다. 히스토그램의 높이는 로그값으로 압축해 작은 분포도 볼 수 있게 했습니다. 공통 히스토그램은 0.2126·0.7152·0.0722 가중치를 사용하고, 임계값 판정은 아래의 0.3·0.59·0.11 식을 사용합니다. 따라서 유채색에서 그래프의 위치와 실제 판정값은 정확히 일치하지 않을 수 있습니다.

위 사진은 기준 152의 최종 결과입니다. 배경의 어두운 영역은 검정으로, 흰 옷의 밝은 영역은 흰색으로 남습니다. 원본의 중간톤 정보는 이 출력에 그대로 남지 않습니다.

기준값152와 히스토그램이 있는 한계값 패널
한계값과 히스토그램을 묶어 표시한 실제 조작 화면입니다. · 그림을 누르면 전체 패널을 볼 수 있습니다.
02

색마다 다른 비율로 밝기에 반영합니다

새 레이어는 8비트 R·G·B에 각각 0.3·0.59·0.11을 곱해 더하고, 정수로 반올림합니다. 이 숫자를 기준값과 비교합니다.

const value = Math.round(
  0.3 * R + 0.59 * G + 0.11 * B
);
const output = value >= threshold ? 1 : 0;
out.fill(output);

이 식은 화면의 RGB 값에서 계산한 가중 밝기입니다. sRGB를 선형화한 뒤 물리적인 휘도를 구하는 계산과는 구분해야 합니다.

R·G·B가 같은 회색은 그 값이 그대로 판정값이 됩니다. 순수 빨강·초록·파랑은 가장 큰 채널값이 모두 255여도 판정값은 서로 다릅니다.

순수 빨강 초록 파랑에 기준128과152를 적용한 결과
순색의 판정값은 빨강77·초록150·파랑28입니다. 초록은 기준128에서 흰색, 기준152에서 검정이 됩니다.
03

기준과 같은 값은 흰색으로 처리합니다

비교 연산을 >=로 정했기 때문에 기준 바로 아래는 검정이고, 기준과 같은 값부터 흰색입니다. 이 경계는 한 값 차이로 바뀌므로 반올림 순서도 함께 명시했습니다.

표는 기준값 128에서 회색 입력을 실제 함수로 처리한 결과입니다. 127과 128이 어떻게 나뉘는지 확인할 수 있습니다.

결과가 화면에서 회색처럼 보일 때는 원본과 섞는 불투명도, 마스크, 화면 축소의 보간도 확인해야 합니다. 판정 함수 자체의 출력은 세 채널 모두 0 또는 255입니다.

기준128 · 일반 합성 · 불투명도100% · 마스크 없음.
입력 회색판정값최종 RGB
1261260 · 0 · 0
1271270 · 0 · 0
128128255 · 255 · 255
129129255 · 255 · 255
04

흑백 레이어와 임계값을 구분했습니다

08편 흑백은 원래 색에 따라 서로 다른 회색 밝기를 남깁니다. 임계값은 계산한 밝기를 두 값으로 다시 나눕니다. 이름은 둘 다 흑백 결과를 떠올리게 하지만 출력 정보량은 다릅니다.

이 계산도 공통 조정 레이어 경로를 사용합니다. 완전히 투명한 픽셀은 건너뛰고, 나머지 픽셀은 원래 알파를 유지합니다. 사진의 실루엣이나 대비 구조를 점검하는 용도로 사용할 수 있지만, 흰색 영역을 자동으로 투명하게 만드는 기능은 아닙니다.

같은 사진에도 목적에 따라 다른 조정을 사용합니다.
레이어출력의 기준
흑백원래 색상별 가중치 → 연속 회색
포스터화R·G·B 각각 → 정해진 단계
임계값가중 밝기 → 검정 또는 흰색

구현 코드와 참고 자료

공개 코드는 구현을 설명하기 위한 참조입니다. 사용·배포 조건은 저장소의 라이선스 표기를 확인하세요. 사진·패널은 자체 제작 자료, 장식 이미지는 AI 생성 이미지입니다.