2013-01-24 48 views
1

我試圖將存儲在Mat通道中的RGB圖像的每個通道轉換爲3個2D矩陣,每個矩陣都用於R,G和B.此問題可能很簡單,但請您告訴我我該如何實現這一目標?在Linux中使用opencv2.4.3,Cmake編譯器。作爲矩陣的矩陣單通道Opencv

我使用了拆分,但它將值再次存儲在Mat中。我想要一個簡單的2D數組,可以輕鬆訪問,而不是Mat。你能幫我在這裏嗎?

+0

我試圖 矢量 channel_rgb(3) split(src,channel_rgb) 並嘗試訪問channel_rgb [0],[1],[2]。我認爲這是行不通的。 –

+2

我真的不知道2D數組是如何比Mat更容易訪問的......如果你不喜歡.at 語法,爲什麼不把它當作Mat_? – Hammer

+0

和二維數組是否意味着指向數組的指針數組?如double_ptr [i] [j]中那樣?如果這就是你正在談論的維度,那麼Mat在內部總是表示數據1D – Hammer

回答

1

可以使用split,從opencv docs

的功能分割分割的多通道陣列分成單獨的單信道陣列

+0

vector channel_rgb(3)split(src,channel_rgb)。我試過這個。我應該做 vector channel_rgb(3)split(src,channel_rgb)改爲?但是我正在尋找簡單的二維數組,而不是Mat。你能幫我在這裏嗎? –

+0

有沒有簡單的方法來將Mat轉換爲2D數組? –

+0

請幫助我,如果我的疑問是相關的,或者我不清楚? –