Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
根据文档,此函数应返回 aMat所有元素为一个。
Mat
Mat m = Mat::ones(2, 2, CV_8UC3);
我期待得到一个 2x2 矩阵[1,1,1]。相反,我得到了这个:
[1,1,1]
[1, 0, 0] [1, 0, 0] [1, 0, 0] [1, 0, 0]
这是预期的行为吗?
它看起来Mat::ones()只适用于单通道阵列。对于具有多个通道的矩阵,ones()仅将第一个通道设置为 1,而其余通道设置为零。
Mat::ones()
ones()
请改用以下构造函数:
Mat m = Mat(2, 2, CV_8UC3, Scalar(1,1,1)); std::cout << m;
编辑. 打电话
和调用一样
Mat m = Mat(2, 2, CV_8UC3, 1); // OpenCV replaces `1` with `Scalar(1,0,0)`