2014-11-25 3 views
2

기본적으로 비트 맵 이미지의 모든 픽셀의 밝기를 찾으려고합니다. 내가 사용하고있는 이미지는 24 비트 비트 맵 이미지이며 GetBrightness() 함수를 사용할 수 없습니다. 픽셀의 RGB 값을 얻고 있는데 RGB 값이 픽셀의 밝기인지 또는 누구도 그레이 스케일 픽셀의 픽셀 밝기를 가져 오는 방법을 권장 할 수 있습니까?그레이 스케일 픽셀의 밝기 얻기

감사

+0

당신이 어떻게 이러한 것들을 "얻는가"우리에게 보여줄 수 있습니까? 왜 당신은'GetBrightness'을 사용할 수 없습니까? –

+0

비트 맵 이미지 읽기 전용 클래스를 작성 했으므로 getBrightness를 사용할 수 없습니다. 각 픽셀의 RGB 값을 읽고 밝기도 포함되어 있는지 궁금하십니까? 그게 말이된다면, 더 이상 명확하지 않아서 미안해. –

답변

1

휘도 (밝기)는 주관적이므로 RBG를 휘도 값으로 변환하는 여러 가지 방법이 있습니다. 다름은 당신이 각 색깔에 얼마나 많은 양을 드는지입니다.

여기서 (Y) 상대 휘도 one method 같습니다

Y = (0.2126 * R) + (0.7152 * G) + (0.0722 * B) 

여기 another이다 "(대부분의 사람들) 녹색 빛을 가장 많이 기여 때문에

Y = (0.299 * R) + (0.587 * G) + (0.114 * B) 

첫 번째 방법은 어떤 것이 바람직 인간에 의해 감지되는 강도, 그리고 최소한의 푸른 빛 "이라고 설명했다. 색맹 및 다른 차이는 효과를 감소시킬 수 있습니다. 두 번째 방법은 녹색 값에 더 적은 가중치를, 빨간색 값에는 더 많은 가중치를 넣고, smidgen은 파란색 값에 가중치를 추가합니다.