2014-01-25 30 views
2

我剛剛注意到,當軌跡條出現在窗口中時,openCV的性能會急劇下降,並且會改變攝像頭或電影幀的圖像。可以做些什麼來解決這個問題?OSX中的OpenCV軌跡條性能

回答

3

解決方案是將軌道欄移動到單獨的窗口。對於我來說,在OSX上,性能提高了4.7倍(從3 FPS增加到14)。我不知道它是否總是這樣工作,或者就像我的電腦一樣,但是我之前從未看到過這樣的線索,所以我決定分享。

string title = "My window"; 
int p = 2; 

// Create a different window for controls 
namedWindow(title + " - controls"); 
// I show an image once just to resize the window 
imshow(title + " - controls", Mat::zeros(1, 500, CV_8UC1)); 
createTrackbar("Parameter", title + " - controls", &p, 3); 

// Create a different window for actual image 
namedWindow(title); 
while (!done) { 
    // Do some calculations 
    flip(image, image, p); 
    imshow(title, image); 
} 
+0

額外的好處,你現在可以調整它的大小,而不會影響跟蹤欄的可用性 – berak

2

我在OSX-10.9中也遇到同樣的問題。 我已經通過以下方式解決了這個問題:

port variants opencv 
sudo port install opencv +qt4 +tbb +eigen +opencl 

重要的選項是「+ QT4」而已,其他的選項是多餘的。

OpenCV支持GUI後端的Qt。我懷疑問題的原因在於實現默認的GUI後端。

我能夠通過重新構建OpenCV庫並重新安裝(更新)來消除問題。