我想創建一個openCV矩陣,矩陣的每個元素都是一個std :: vector,但是我似乎無法讓它工作。這是我在做什麼:a cv :: std :: vector的Mat ...我怎麼樣?
cv::Mat_<std::vector<double> > costVol(3,5);
std::vector<double> slice0;
slice0.push_back(8.0);
costVol(0,1)=slice0;
整個代碼編譯,但在costVol(0,1)= slice0;它會引發內存訪問錯誤。我猜這是因爲矩陣沒有被正確初始化......有人可以告訴我如何正確初始化cv :: Mat costVol。我理想地喜歡它被初始化爲一個空矢量,或者甚至是一個大小的矢量,默認情況下,所有元素都是5。
哇..我從來沒有一個問題沒有迴應2小時!這是一個非常愚蠢的問題?我嘗試使用'cv :: Mat_>'它工作,但openCV要求在編譯時知道numChannels。這不符合使用std :: vector的目的。只有在運行時才知道numChannels。 –
Mustafa
你是怎麼解決這個問題的? – subzero