2012-12-20 16 views
7

Bir görüntü dikişi üzerinde çalışıyorum ve görüntünün kontrastı ve parlaklığı ile ilgili farklı yaklaşımlar olduğunu anlıyorum. Tabii ki görüntüyü dikmeden önce bu konuyla ilgilenebilirim, ancak sonuç umduğum kadar tutarlı değil. Bu yüzden benim soru dikişin gerçekleşmesinden sonra renkli resimlerdeki kontrast ve parlaklığı “dengelemek” veya “eşitlemek” için herhangi bir şans varsa mümkün mü?Dikişli görüntüler arasında kontrastı ve parlaklığı dengeleme

cevap

4

Tüm resimlerde değil, dokunacakları veya üst üste gelecekleri bölgede histogram eşitleme işlevini belirlemek istiyorsunuz. Çakışan alanda aynı histogramlara sahip olmak istersiniz, bu yüzden fonksiyonları hesapladığınız yerdir. Ardından, tüm görüntülerde bunu gerçekleştiren dengeleme işlevlerini uygularsınız. İki dikişten daha fazlasına sahipseniz, yine de global dengelemeye sahip olmayı ve daha sonra dikişli kenardan uzaklaştıkça darbeyi azaltan bindirme-dengeleme işlevlerinin ağırlıklı uygulamasını kullanmak istersiniz.

Bu durumun sizin için çok açık olup olmadığına dair özür dileriz, ancak genel sorunuz genel bir cevaba götürür.

+0

Herhangi bir şans bana pratik bir örnek gösterebilir mi? Kavramları anlıyorum ama OpenCV'de uygulamada biraz kayıp. – JavaCake

4

OpenCV tarafından sağlanan Exposure Compensator class'a bir göz atmak isteyebilirsiniz.

Pozlama telafisi 3 adımda yapılır:

  1. pozlama kompansatör bunların her birinin sol üst köşelerinde birlikte

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

  2. girdiniz görüntülerin tüm oluşturun. Görüntünün belirli kısımlarını üzerinde çalışacak şekilde belirtmek istemiyorsanız, maskeleri varsayılan olarak tamamen beyaz bırakabilirsiniz.

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

  3. Şimdi görüntüler üstüste nasıl tüm bilgiler, tek tek

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

telafi görüntü image

saklanacaktır her görüntüyü telafi edebilirsiniz
+0

Bu kodu çalışmak için mi yönetdiniz? – user65721

+0

Kodu paylaşabilir misiniz? Bunu denedim ve işe çalıştıramadım! – user65721

+0

Ayrıca bunu bitirmeye çalışıyorum. Daha fazla bilgi, cpp örnek projelerinden 'stitching_detailed.cpp' örneğinde uygulanmaktadır. –

İlgili konular