2011-08-07 93 views
3

我試圖從相機搶幀,並將它們添加到一個單一的形象,以獲得效果,因爲這形象:http://www.danheller.com/images/California/DeathValley/Nite/tent-star-trails.jpg寫入幀OpenCV中單個圖像

但一對夫婦後,我的形象變白秒。這裏是代碼:

#!/usr/bin/python 
import cv 
stream = cv.CaptureFromCAM(0) 
cv.NamedWindow("Stream",1) 
out = cv.CreateImage((640, 480), 8, 3) 
while True: 
    frame = cv.QueryFrame(stream) 
    cv.Add(frame, out, out, None) 
    cv.ShowImage("Stream", out) 
    cv.WaitKey(25) 

任何人都可以幫忙嗎?

+0

你想複製全景效果嗎? – karlphillip

回答

1

是的,您的圖片在幾幀後會變成白色,因爲逐個像素地添加圖片會使亮度增加很多。你將不得不想出一個更好的算法來合併圖像。

可以這樣做的一種方法是添加兩個圖像,然後在添加更多圖像之前對生成的圖像進行歸一化,或者如果要添加大量的幀,則只需添加多個(0.01)像素值圖像到每幅圖像的結果圖像,但是再次,歸一化結果圖像使暗像素保持黑暗。這有效地模擬了使用真實相機創建的長時間曝光效果。

真正的相機通過非常低的曝光設置創造了這種效果,因此只有少量光子立刻進入鏡頭,所以當您將相機靜止一段時間時,越來越多的照片擊中膠片,最終照亮圖片。如果您將相機長時間放置。如果您將相機長時間放置,相同的情況會發生在照片上,它會變白。直接將圖片添加到一起就像是曝光量非常高,一次有大量光線進入鏡頭,圖片變成白色。

+0

感謝您的回覆。我會在添加更多圖像之前嘗試對圖像進行標準化。 –

相關問題