0

我只是想将矩阵的元素设置为特定值,而无需进行深拷贝甚至浅拷贝。

据我了解

myMat = Mat::ones(rows, cols, CV_32SC1)*10;

将为新矩阵分配磁盘空间(在本例中为相同的数据类型和维度),设置值,释放旧数据,然后使 myMat 指向新数据。反而

myMat = 10;

只会将值设置为原始数据,而不进行新的分配和释放。它相当于

myMat.setTo(10);

这又对应于旧样式:

cvSet(myMat, cvScalar(0));

我在某些方面错了吗?

4

0 回答 0