2015-05-12 28 views
0

我想創建一個矩陣的維度是兩個現有圖像的兩個維度的最大值。我的代碼如下:OpenCV創建一定大小的矩陣有錯誤的高度 - C++

int width = 0, height = 0; 
    (frameOne.cols >= frameTwo.cols) ? width = frameOne.cols : width = frameTwo.cols; 
    (frameOne.rows >= frameTwo.rows) ? height = frameOne.rows : height = frameTwo.rows; 

    cout << "frameone: " << frameOne.cols << " " << frameTwo.rows << endl; 
    cout << "frametwo: " << frameTwo.cols << " " << frameTwo.rows << endl; 
    cout << "Width: " << width << endl; 
    cout << "Height: " << height << endl; 

,我遇到的問題是,當我打印出每幀的行他們都是711(因爲他們應該的),但所產生的寬度爲720 ..我應該是711,不知道它在哪裏被改變,因爲它是一個簡單的任務。

+0

你確定每一幀的行是711嗎?因爲在第一個cout中你正在打印'frameTwo.rows'而不是'frameOne.rows'。 – wendelbsilva

+0

似乎有點複雜 - 可讀性不如使用max()。像'width = max(frameOne.cols,frameTwo.cols);' – Mads

+0

那麼這就是當你一整天盯着它時會發生什麼,你會錯過這樣的事情。非常感謝那是這個問題,因此實際上沒有問題。 –

回答

0

打印我們錯誤的frameOne行的值。