在openCV备忘单(C++)中,我找到了矩阵运算mean()
.当我使用它时:
float myMatMean = mean( MyMat );
Run Code Online (Sandbox Code Playgroud)
我收到错误:
没有从"cv :: Scalar"到"float"的合适转换函数
我该怎么做才能使用这些数据?
OpenCV中是否有一种方法可以采用输入矩阵,输出矩阵和函数,并将此函数应用于每个像素?例如,“检查像素值,如果它低于某个阈值,则将其设置为0,否则保持该值”之类的功能
我知道我可以遍历矩阵的像素并自己应用该函数,只是想知道是否有一个函数可以为我省掉这笔工作。
我想使用这个公式将BGR cv :: Mat转换为灰色Gray=B OR G OR R; pixel-wise operation
.我试过这个:
cv::Mat diff_channels[3];
cv::split(diff, diff_channels);
diff = diff_channels[0] | diff_channels[1] | diff_channels[2];
Run Code Online (Sandbox Code Playgroud)
这可以通过更好的方法实现吗?
另外,如果我想实现Gray=MAX(B,G,R); pixel-wise operation
任何建议?