Retinex
1 개요
이미지에서 빛이 닿지 않아 어두운 영역의 밝기를 증가시키는 알고리즘입니다.
2 알고리즘 상세 설명
이미지의 픽셀 값을 "조명의 밝기 X 빛에 대한 반사율" 로 정의했을 때 빛에 대한 반사율 값을 얻어 조명의 밝기에 무관한 이미지를 만들어 어두운 영역의 밝기를 증가시키는 알고리즘 입니다.
| Source | Result |
|---|---|
![]() |
![]() |
Fig. Retinex를 적용한 결과 이미지
3 파라미터 설정 및 사용 방법
후처리 과정에 사용하는 파라미터를 설정할 수 있습니다.
| 멤버함수 | 파라미터 | 설 명 | ||
|---|---|---|---|---|
| SetOffset | double | f64Offset | IN | 오프셋 값을 설정합니다. |
| SetMinIntensityClampingRatio | const Base::CMultiVar |
mvMinIntensityClampingRatio | IN | 정규화 시 Clamping할 최소 강도 픽셀 개수 비율을 설정합니다. |
| SetMaxIntensityClampingRatio | const Base::CMultiVar |
mMaxIntensityClampingRatio | IN | 정규화 시 Clamping할 최대 강도 픽셀 개수 비율을 설정합니다. |
| SetMinNormalizationRange | const Base::CMultiVar |
mvMinValue | IN | 최소 정규화 범위를 설정합니다. |
| SetMaxNormalizationRange | const Base::CMultiVar |
mvMaxValue | IN | 최대 정규화 범위를 설정합니다. |
4 예제 코드
CRetinex retinex;
CFLImage fliSourceImage;
CFLImage fliDestinationImage;
retinex.SetSourceImage(fliSourceImage);
retinex.SetDestinationImage(fliDestinationImage);
retinex.SetOffset(0.5);
CMultiVar<double> mvMinIntensityClampingRatio(0.01);
CMultiVar<double> mvMaxIntensityClampingRatio(0.01);
retinex.SetMinIntensityClampingRatio(mvMinIntensityClampingRatio);
retinex.SetMaxIntensityClampingRatio(mvMaxIntensityClampingRatio);
CMultiVar<double> mvMinNormalizationValue(0.);
CMultiVar<double> mvMaxNormalizationValue(255.);
retinex.SetMinNormalizationRange(mvMinNormalizationValue);
retinex.SetMaxNormalizationRange(mvMaxNormalizationValue);
retinex.Execute();

