0
我想根據其位置對視頻中的連接組件進行分類。我正在使用opencv 3中的connectedComponentsWithStats函數。我正在嘗試訪問來自1x5矩陣的統計矩陣的值。當我使用以下代碼時,我成功訪問連接組件的區域。連接組件訪問矩陣值
connectedComponentsWithStats(median_difference3, labels, stats, centroids, 8, CV_16U);
int area= stats.at<int>(0,4);
cout << area << endl;
當我嘗試使用
int x= stats.at<int>(0,0);
所有值來訪問矩陣的第一個值我得到的是零。
只是爲了確認當我輸出完整的統計矩陣時,矩陣的0,0位置的值不總是爲零,因此他們應該改變區域矩陣的相同方式。統計矩陣中的值也總是整數。
如果你能看到我做錯了什麼,我將不勝感激!
這似乎是正確的。你可以設置一個[mcve],這樣我們可以重現你的問題? – Miki
我剛剛意識到的是在幀中沒有連接組件時的1x5向量。如果矩陣是2 x 5矩陣,第一行包含默認值,第二行包含有關CC的有用信息。這就是爲什麼我一直得到零。你知道我如何訪問矩陣中的第二行,因爲並不總是有兩行和stats.at(1,0);不管用。 –
user5608415
'if(stats.rows> 1){cout << stats.at(1,0);}' –
Miki