我需要在Android上修改/访问我的垫子,但它真的很慢(在3500 * 100垫子上运行大约需要2分钟)。
我需要将一些值设置为0,但不是全部,我使用此行来修改它。
this.getMyMat().put(i, j, 0);
有什么想让它快一点吗?我在C ++中的代码运行时间至少要少50倍,这样做:
((myMat.data + myMat.step*row))[j] = 0
答案 0 :(得分:1)
您可以使用rowRange()
或colRange()
提取您希望归零的子矩阵,并致电setTo()
以实际填写值。这比逐像素迭代更快。
Mat rows = this.getMyMat().rowRange(0,3);
rows.setTo(new Scalar(0));