我有一个大小为11000x1085的cv::Mat src (类型: CV_32F)。
获取一行数据
cv::Mat dst = src.row();如果我想从第4列到第1085列获得数据,我就这样做。
for(int i = 0; i < 11000; i++)
for(int j = 3; j < 1085; j++)
dst.at<double>(i,j-3) = src.at<double>(i,j);还有其他更快的方法吗?
发布于 2014-09-05 05:08:29
你可以用席特::朗格
cv::Mat dst = src.colRange(3, 1085);发布于 2014-09-05 04:32:32
这取决于您是否想要对数据进行深度复制。您可能想要构建感兴趣的区域(ROI),如本教程中所描述的,它描述了使用cv::Mat来构造数据的其他方法:
container.html
若要为矩形创建感兴趣区域(ROI):
Mat Dst (src, Rect(3, 0, 11000, 1085) );如果要复制数据,请:
Mat Clone = Dst.clone();https://stackoverflow.com/questions/25678013
复制相似问题