在MATLAB中:
max(image,0)
将负值设置为零。 OpenCV中有任何可用的功能吗?
答案 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:
答案 1 :(得分:4)
您可以使用以下内容:
Mat im = ReadSomeImage(...);
Mat masked = im.setTo(0,im<0); /// <<<
setTo(0,im<0)
可以满足您的需求。