作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道如何比较两个垫子的列
这是在做什么
cv::Mat M(2,2, CV_8UC3, cv::Scalar(0,0,255));
cv::Mat M2(2,2, CV_8UC3, cv::Scalar(0,0,255));
for(int c = 0; c < M.cols; c++ ){
if( M.col(c) == M2.col(0) ){ // error
}
}
error: no viable conversion from 'cv::MatExpr' to 'bool'
最佳答案
您可以检查两个矩阵是否与here相同。
您可以传递列而不是整个矩阵:
bool are_equal(const cv::Mat& a, const cv::Mat& b)
{
return (cv::sum(a != b) == cv::Scalar(0, 0, 0, 0));
}
int main()
{
cv::Mat3b a(3, 3);
cv::Mat3b b(3, 3);
cv::randu(a, 0, 9);
cv::randu(b, 0, 9);
bool same_columns = are_equal(a.col(1), b.col(2));
}
关于c++ - 如何在OpenCV中比较两个Mats列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61141410/
我是一名优秀的程序员,十分优秀!