2013-07-19 52 views
1

我正在使用XCode中的OpenCV庫並執行一種顏色跟蹤應用程序,該應用程序從一點到另一點繪製線條。我想知道是否有可能把輸出不作爲視頻,而是作爲白色背景。 所以不是OpenCV-顏色跟蹤輸出作爲彩色背景

cvShowImage("video",frame); 

是否有將顯示(backgroundcolour,幀)的功能? 編輯:

我已經添加了此代碼,但由於畫布不是一個圖像,它不會讓我寫它而不是框架。

cv::Mat canvas(320, 240, CV_8UC3, Scalar(255,255,255)); 

IplImage* imgYellowThresh1 = GetThresholdedImage1(canvas); 
cvAdd(&canvas,imgScribble,&canvas); 
cvShowImage("video",&canvas); 

所以埃羅是在GetThresholdedImage1

回答

1

「爲號召GetThresholdedImage1沒有匹配功能」不,不是這樣一個簡單的方法,你提出的。解決方法是創建單獨的Mat an d在其上畫線。

cv::Mat canvas(rows, cols, CV_8U3C, Scalar(255,255,255)); //set size, type and fill color

你會準備這個墊子的代碼開始時,然後用它繪製功能。因此,不要在frame上繪製線條,而應使用canvas。編輯: 有輕微的誤解。問題是你正在使用舊的C API。要了解最新的C++ API,按照這個教程:

http://docs.opencv.org/doc/tutorials/tutorials.html

+0

我的問題是吸取了在墊子上 「的IplImage * imgYellowThresh1 = GetThresholdedImage1(畫布);」這是給我一個錯誤,因爲畫布不是圖像。 –

+0

IplImage來自C API,我的代碼適用於新的C++ API。是否有任何理由使用C API而不是C++? – jnovacho

+0

我不知道我在用那個。我遵循一個教程,並認爲它是C++在openCV中:/ –