이미지에서 픽셀을 스케일링하여 밝기를 조정하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1904865

  •  19-09-2019
  •  | 
  •  

문제

사진의 회색차 이미지가 있습니다. 이미지의 특정 부분이 미성숙 한 것으로 밝혀졌으며, 휘도 y = 0.8을 가진 픽셀은 실제로 90% 회색으로 조정되어야합니다. 내 질문은 근처의 다른 픽셀을 어떻게 확장합니까? 나는 모든 휘도를 9/8로 곱하는 것이 잘못되었다고 확신합니다. 바라보다 균일 한 스케일링은 비선형이어야합니다. 그러나 나는 진전을 이룰 수있는 방정식을 찾는 데 어려움을 겪고 있습니다. (물론 나는 실제로 많은 사진을 조정하기 위해 프로그램을 작성하고 있습니다.)

내 픽셀의 소스는 PBMPlus PGM 형식이며, Man Page가 말합니다.

각 회색 값은 CIE Rec에 의해 조정 된 픽셀의 강도에 비례합니다. 709 감마 전송 기능. (전송 함수는 감마 수 2.2를 지정하고 작은 강도에 대한 선형 섹션이 있습니다). 따라서 0의 값은 검은 색입니다. MaxVal의 값은 이미지에서 CIE D65 White와 가장 강한 값과 이미지를 비교할 수있는 다른 이미지를 나타냅니다.

내가 이것을 더 잘 이해한다면 아마도 어떻게 진행하는지 더 나은 아이디어를 가질 것입니다.

관련 질문을 찾았습니다 균일 한 밝기의 이미지 만들기.


나를 궤도에 데려다 준 Shmoopty에게 감사드립니다. 나는 당신의 대답을 받아 들인 다음 몇 가지 정보를 추가했습니다.

도움이 되었습니까?

해결책

당신은 아마 원할 것입니다 감마 보정, 진정한 검은 색과 진정한 흰색을 유지합니다 옳은, 그 사이의 값을 구부리면서.

입력이 범위 (0.0, 1.0)에있을 때 감마 조정을위한 공식은 다음과 같습니다.

output = pow( input, gamma )

...어디 gamma 1.0 미만의 경우 밝아지고 1.0 이상이 어두워집니다.

0.8을 0.9까지 푸시하려면 계산합니다 log(0.9)/log(0.8) 감마를 얻기 위해 0.4722.

이것은 매우 많은 공식 중 하나이며, 흑백을 독특한 색상으로 보존하는 수학적으로 가장 단순하지만 (일부는 중요하다고 생각할 것입니다), "진실한"것을 줄 수있는 단일 올바른 공식은 없습니다.


부록 : 감마 보정이 이미 감마에 인코딩 된 값에 적용될 수 있음을 확인했습니다. Markdown에서 수학을 주목하기는 어렵지만 주요 대수법은

(y**a)**b == y**(a*b) == y**(b*a) == (y**b)**a

이 법을 적용하면 감마 수정 통근을 결정할 수 있으므로 이미 수정 된 값에 감마 보정을 적용하는 것이 좋습니다. —Nr

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top