我正在嘗試使用OpenCV將cv :: Mat分區爲更小的cv :: Mat。我在網上找到了這個方法,但是我無法使它工作。我想將640 x 480的cv :: Mat分割成32 x 32的塊,並在每個塊上分別進行操作。OpenCV:分區cv :: Mat
這是我的代碼。 curr_frame包含整個圖像作爲cv :: Mat。 N_per_col和N_per_row分別包含每列和每行的mb_sz x mb_sz塊的數量。
void ClassName::partition(void)
{
for(i = 0; i < N_per_col; i += mb_sz)
{
for(j = 0; j < N_per_row; j += mb_sz)
{
cv::Mat tmp_img(curr_frame, cv::Rect(i, j, mb_sz, mb_sz));
// Do stuff with tmp_img here
}
}
}
這編譯得很好,但在運行時我得到一個圖像充滿了tmp_img中的NULL像素。 curr_frame絕對可以,因爲我可以用imshow()查看它。
該文件不是很清楚,所以任何幫助將不勝感激。
代碼看起來沒問題,文檔也清楚地顯示了[this usage](http://docs.opencv.org/modules/core/doc/basic_structures.html#mat) – Mohammad