我可以在opencv中使用哪个函数作为matlab中的max()

时间:2014-07-07 08:41:52

标签: c++ matlab opencv matrix max

在MATLAB中:

max(image,0)

将负值设置为零。 OpenCV中有任何可用的功能吗?

2 个答案:

答案 0 :(得分:8)

实际上完全相同的语法有效:

Mat im = cv::imread("...");
Mat im_capped = cv::max(im, 0);

或者如果你想给它一个相同大小的零矩阵:

Mat thresh(im.size(), im.type(), Scalar::all(0));
Mat im_capped = cv::max(im, thresh);

根据docs

cv::max

答案 1 :(得分:4)

您可以使用以下内容:

Mat im = ReadSomeImage(...);
Mat masked = im.setTo(0,im<0); /// <<<

setTo(0,im<0)可以满足您的需求。