2016-04-03 16 views

cevap

2

Göz retina görüntülerinin dikilmesi için dikişlerin çıkarılmasını uyguladım. Eğer nihai etkiyi bulabilirsiniz:

enter image description here

Bunu yapmak için, ben this kağıdın sayfa 138 açıklandığı bir teknik uyguladı. Aşağıda, bunu açıklama ile yapmak için sözde kod bulabilirsiniz, tam kaynak my repository bulunabilir.

Algoritma, bu piksel üzerinde çakışan görüntülerin piksel değerlerini weighted average gerçekleştirerek pikselin son değerini hesaplamaya dayanır. Ağırlık, pikselden görüntünün kenarına olan mesafeye dayanır. Piksel, ait olduğu görüntünün merkezine yakınsa, o zaman daha önemlidir ve ağırlık daha büyüktür. Pikselin görüntünün kenarına uzaklığı OpenCV tarafından uygulanan distanceTransform işlevini kullanarak hesaplanabilir. Bu mesafenin etkisi son mozaik yerleştirilen gözün retina görüntüsü birinde dönüşümü geçerli:

enter image description here

sen pseudocode bulabilirsiniz: Net olmayan

// Images is an array of images that the program is stitching 

// For every image (after transform) on final plane calculate distance transform 
for (image in images) { 
    // Calculate distance transform 
    image.distanceTransform = distanceTransform(image) 
} 

// For every pixel in final mosaic, calulate its value by using weighted average 
for (row in rows) { 
    for (col in cols) { 
    currentPixel = FinalMosaic(col, row) 

    // Values for weighted average 
    numeratorSum = 0 
    denominatorSum = 0 

    // Go through all images that can overlap at this pixel 
    for (image in images) { 
     // If image is not overlapping over this pixel just skip 
     isOverlapping = image.isOverlapping(currentPixel) 
     if (isOverlapping) { 
     currentPixelWeight = image.distanceTransform.valueAt(currentPixel) 
     numeratorSum += currentPixelWeight * currentPixel.value 
     denominatorSum += currentPixelWeight 
     } 
    } 

    if (denominatorSum != 0) { 
     currentPixel.value = numeratorSum/denominatorSum 
    } 
    } 
} 

, soruları yazma yorumlar ve cevabı iyileştirmeye çalışacağım.

-2

En sonunda elde ettiğin çözümün ne olduğunu anlatabildin mi, 2 görüntüye katılırsak görüntüdeki dikiş çizgisini nasıl çıkaracağımızı anlayamadım ve iki görüntü arasında tek bir dikey dikiş çizgisi aldık. katıldıkları nokta.

+0

Bu bir cevap değil. – Gerriet

İlgili konular