[CV] Intensity Transformation(2) - Piecewise-Linear Functions and Bit-Plane Slicing

Yeontachi·2025년 7월 31일

Computer Vision Note

목록 보기
9/47
post-thumbnail

Piecewise-Linear Functions

Contrast Stretching(대비 확장)

Contrast Stretching은 영상의 명암 대비를 향상시키기 위해 픽셀 값의 범위를 확장하는 영상 향상 기법이다. 원본 이미지가 특정 강도 범위에 집중되어 있으면, 전체 영상이 흐릿하게 보이고 세부 구조가 잘 드러나지 않는다. 이러한 저대비 이미지를 개선하기 위해 Contrast Stretching은 픽셀 값을 넓은 범위(예: 0 ~ 255)로 매핑하여 명암의 차이를 크게 만든다.

위 이미지의 (b) 영상을 보면, 전체적으로 회색톤을 띠고 있어 씨앗 표면의 패턴을 명확히 구분하기 어렵다. 이는 픽셀 값이 좁은 범위에만 존재하기 때문이다. Contrast Stretching을 적용하면 이 픽셀 값 범위를 넓혀 대비를 높이므로, 영상의 품질이 크게 향상된다.

동작 방식
Contrast Stretching은 구간별 선형 변환(Piecewise-Linear Transformation) 방식으로 구현된다.

위 이미지는 변환 함수의 예시로, 다음과 같은 특징을 갖는다.

  • 어두운 부분(r<r1r < r_1) : 변화가 적어 배경은 크게 영향을 받지 않는다.
  • 중간 톤(r1rr2r_1 ≤ r ≤ r_2) : 기울기가 가장 커서 대비가 집중적으로 향상된다.
  • 밝은 부분(r>r2r > r_2) : 변화가 적어 과도한 밝기 증가를 방지한다.

이 변환을 통해 픽셀 값은 아래 수식으로 매핑된다.

r2r1s=rr1r2r1×(s2s1)+s1{r_2-r_1} s = \frac{r - r_1}{r_2-r_1}\times (s_2 - s_1) + s_1
  • r1,r2r_1, r_2 : 입력 영상에서 확장할 구간(최소/최대)
  • s1,s2s_1, s_2 : 매핑할 출력 강도 구간(예: 0, 255)

위 이미지 중 가운데 이미지에서 볼 수 있듯이, Contrast Stretching을 적용한 결과 씨앗의 패턴과 형태가 뚜렷하게 나타난다. 이는 중간 톤 대비가 크게 향상된 덕분이다. 반면, Thresholding 기법은 객체와 배경을 구분할 수는 있지만, 디테일을 모두 제거해 영상의 질감을 잃게 만든다.

Contrast Stretching 요약

  • 목적 : 저대비 이미지를 선명하게 개선
  • 방법 : 픽셀 강도를 선형적으로 매핑하여 전체 범위를 활용
  • 특징 : 세부 정보는 유지하면서 대비 향상
  • 활용 분야 : 의료 영상(X-ray, MRI), 위성 영상, 저조도 이미지 보정

Intensity-Level Slicing

Intensity-Level Slicing은 디지털 영상에서 특정 강도(밝기) 범위를 강조하여 관심 영역(ROI)을 부각시키는 영상 처리 기법이다.
픽셀의 값이 특정 구간 [A,B][A, B]에 속할 때, 그 구간을 강조하고 나머지 영역은 낮은 강도로 유지하거나 변경하지 않는 방식이다.

예를 들면, MRI 스캔에서 의사는 뇌종양을 탐지하기 위해 특정 강도 값(비정상 조직)을 강조할 수 있다. 이때 Intensity-Level Slicing을 적용하면 관심 강도 범위만 밝게 하여 빠르고 정확한 진단을 돕는다.

동작 방식
(1) 이진화 (Binary Conversion)

  • 특정 범위 [A,B][A, B]에 속하는 픽셀 \to 흰색(1)
  • 나머지 픽셀 \to 검정(0)
  • 결과: 관심 영역만 강조된 Binary Image 생성
    s={L1,ArB0,otherwises = \begin{cases} L-1, & A \le r \le B \\ 0, & \text{otherwise} \end{cases}

(2) 강조 후 나머지 유지(Preserve)

  • [A,B][A, B] 범위 \to 밝기 증가(또는 감소)
  • 나머지 \to 원래 값 유지
  • 결과: 강조 효과 + 배경 정보 유지
    s={High Value or r+Δ,ArBr,otherwises = \begin{cases} \text{High Value or r+Δ}, & A \le r \le B \\ r, & \text{otherwise} \end{cases}

위 이미지의 가장 왼쪽이미지는 원본 영상이다. 가운데 이미지는 Binary Highlighting 방식으로 혈관 부분만 흰색, 배경은 검정색임을 볼 수 있다. 가장 오른쪽 이미지는 Preserve 방식으로 특정 영역을 black으로 만들고 혈관과 콩팥 부분은 보존하여 혈관과 콩팥을 강조하는 영상을 만들었다.

Intensity-Level Slicing 요약

  • 목적 : 관심 강도 범위 강조
  • 방법
    • Binary \to 나머지 0
    • Preserve \to 나머지 유지
  • 장점 : 특정 영역을 명확히 분석 가능
  • 활용 분야 : 의료, 보안, 원격탐사, 산업 검사

Bit-Plane Slicing

Bit-plne slicing은 디지털 이미지의 각 픽셀을 이진수 형태로 분해하여 각 비트를 별도의 평면(plane)으로 표현하는 기법이다.


image from https://theailearner.com/2019/01/25/bit-plane-slicing/

예를 들어, 8비트 그레이스케일 이미지는 각 픽셀 값이 0 ~ 255 범위를 가지며, 8개의 비트로 표현된다.

픽셀값=(b7b6b5b4b3b2b1b0)(MSBLSB)픽셀 값 = (b_7b_6b_5b_4b_3b_2b_1b_0)(MSB \to LSB)
  • MSB(Most Significant Bit) : 가장 높은 자리 비트 \to 이미지의 주요 구조 결정
  • LSB(Least Significant Bit) : 가장 낮은 자리 비트 \to 세부 노이즈, 작은 변화 포함

사용하는 이유
이미지를 비트 단위로 분해하면 어떤 비트가 이미지 정보에 중요한 역할을 하는지 분석이 가능하기 때문에, Bit-Plane Slicing을 사용한다.

  • (a) : 원본 8비트 그레이스케일 이미지
  • (b) ~ (i) : 비트 평면 1~8(LSB부터 MSB까지)
    • (b): Bit Plane 1(LSB) 거의 무작위 잡음
    • (f)~(h): Bit Plane 6~8 이미지의 윤곽과 주요 구조가 각각 뚜렷함을 확인할 수 있다.
    • 즉, 상위 4비트는 이미지의 본질적인 정보를 담고 있으며, 하위 4비트는 디테일 및 잡음이 존재한다.

위 이미지의 (a),(b),(c)는 각각 비트 평면을 (8,7), (8,7,6), (8,7,6,5)로 조합하여 원본 이미지를 재구성하는 과정을 보인다. 명암 대비 측면이나, 벤딩 현상 등이미지의 주요 형태는 보이지만 디테일이 조금씩 떨어지는 것을 확인할 수 있다.

References

Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.

profile
기초를 다지는 중입니다.📚🧑‍💻

0개의 댓글