2017-03-03 1 views

답변

3

독자적으로 일부 이미지 처리를 수행하려는 경우 이미지의 각 얼굴 영역에 대한 히스토그램을 만드는 것이 좋습니다. opencv가 얼굴을 감지 할 수 있다면 그 영역에서 히스토그램을 정규화하고 정규화 된 버전의 색상 값을 가져야합니다.

색이있는 빛의 영향을 줄이기 위해 모든 채널 (R, G, B)을 개별적으로 표준화하려고 할 수 있습니다. 히스토그램에 대한 자세한 정보는 여기를 읽어

: https://en.wikipedia.org/wiki/Histogram

당신이 방법을 수행 할 때, 난 강력 대한 히스토그램 (들)을 제작하는 전체 영역으로 하나 개의 얼굴을 가지고하는 것이 좋습니다.

[편집] 지금은 당신이하려고 무엇을 알고

, 나는 다음과 같은 접근 방식을 취할 수 있다고 생각 : 당신이 볼 수 있듯이

, 사용자는 다시 카메라 앞과를 활용할 필요가있다. 이미지가 휴대 전화의 뒷면에서 켜지므로 히스토그램은 실제로 앱의 제작자가 작성한 것입니다. 그러나, 다른 픽셀이 아니라 동일한 픽셀의 다른 샘플로부터 다른 조명 레벨을 사용합니다.

피부에 매우 가까이있을 때 카메라는 거의 흰색 이미지 즉, 원한다면 막대 그래프 계산을위한 "고정 점"을 표시합니다. 내가 직접 코드를 보여 않을거야하지만

, 나는 수학적 모델을 설명하려고합니다 :

  • 이 이미지에 "초점"지역을 정의합니다. 이 영역은 히스토그램을 계산할 때 고려한 영역입니다. 가장자리의 다른 모든 영역은 무시됩니다. 그 중 최대 256있다 (
    • 각 밝기 값의 경우 :
    • 각 시료의 히스토그램을 작성
    • 일부 시료 (예 3초 초당 10 개 샘플 = 30 샘플들)을 가지고 함께 추가),이 값과 일치 픽셀의 수를 계산 함께
    • 을 모든 샘플을 추가하려면 범위 만약 당신이 좋아하면 "작업"(값의 적어도 threshold 번호가 최고 및 최저 값을 찾기) 및 histLowhistHigh을 그들에게 전화
    • 각 픽셀을 다시 계산하십시오. 그 pixel = (pixel-histLow)/(histHigh-histLow) * 255
    • 픽셀 값을 0 - 255 범위로 제한합니다.
    • 좁은 범위 (예 : 0)의 픽셀을 평균 색상 값으로 사용하십시오. 당신이 곱하거나 RGB 색상을 추가하는 방법을 모르는 경우 다른 질문으로 시작해야하는 위치 샘플의 가장 높은 수)

, 그건.

+0

몇 가지 예제 코드로 안내해 줄 수 있습니까?이 앱이 색상을 감지하는 곳의 동영상을 확인하십시오. https://www.youtube.com/watch?v=dz5hLvjt9J8 –

+0

어떨까요?이 동영상 링크를 질문에 추가하여 수행하려는 작업에 대한 정보를 제공해야 할 수도 있습니다. 지금 나는 당신이 성취하려고 노력하는 것을 얻습니다. 그것은 내 대답을 대부분 부정확하게 만듭니다. 그에 따라 내 대답을 바꾸기로 마음 먹었습니다. – Psi

+0

. 답변을 기다리는 중. –

관련 문제