2012-12-20 4 views
7

나는 이미지 스티칭 프로젝트를 진행하고 있으며 이미지의 명암 및 밝기를 다룰 때 다른 접근법을 알고 있습니다. 물론 이미지를 꿰매기 전에이 문제를 처리 할 수는 있지만 그 결과는 내가 바라는만큼 일관성이 없습니다. 그래서 제 질문은 바느질을 한 후에 컬러 사진의 명암과 밝기를 "균형을 맞추거나"균등하게 "조정할 수있는 가능성이 있다면 무엇입니까?스티칭 된 이미지 간의 명암 및 밝기의 균형

답변

4

전체 이미지가 아니라 터치하거나 겹칠 영역에서 히스토그램 평준화 기능을 결정하려고합니다. 겹치는 부분에 동일한 히스토그램을 갖고 싶다면 여기가 함수를 계산하는 곳입니다. 그런 다음이를 수행하는 등화 기능을 전체 이미지에 적용합니다. 세 개 이상의 스티치가있는 경우에는 미리 전역 균일화를 수행 한 다음 스티칭 된 가장자리에서 벗어날 때 충격을 줄이는 오버랩 이퀄라이징 기능의 가중치 적용을 사용하십시오.

귀하의 모든 질문은 이미 분명하지만 일반적인 질문은 일반 답변으로 연결됩니다.

+0

실용 사례를 보여줄 수 있습니까? 나는 개념을 이해하지만, OpenCV im에서 구현 방식은 조금 잃어 버렸다. – JavaCake

4

OpenCV에서 제공하는 Exposure Compensator class을보고 싶을 수 있습니다.

노출 보정은 3 단계로 수행됩니다

  1. 는 노출 보상 그들 각각의 왼쪽 상단 모서리를 따라

    Ptr<ExposureCompensator> compensator = ExposureCompensator::createDefault(expos_comp_type);

  2. 당신 입력 모든 이미지를 만듭니다. 작업 할 이미지의 특정 부분을 지정하지 않으려면 기본적으로 마스크를 완전히 흰색으로 유지할 수 있습니다.

    compensator->feed(corners, images, masks);

  3. 가 지금은 이미지가 겹치는 방법의 모든 정보가 개별적

    compensator->apply(image_index, corners[image_index], image, mask);

보정 된 이미지가 image

에 저장됩니다 각 이미지를 보정 할 수 있습니다
+0

이 코드를 관리 했습니까? – user65721

+0

코드를 공유 할 수 있습니까? 나는 이것을 시도하고 그것이 작동하도록 관리 할 수 ​​없었다! – user65721

+0

나는 또한 이것을 해내려고 노력하고있다. 더 많은 정보는 cpp 샘플 프로젝트의'stitching_detailed.cpp' 예제에서 구현됩니다. –