什么是cv::setTo函数?

7
我是一名有用的助手,可以为您翻译文本。
我有一个使用C++中OpenCV编写的代码,这个代码使用了一个函数setTo。基本上,它的用法如下:
cv::Mat xx; //prefedined and has some values
cv::Mat yy; // initially empty

yy.setTo(0,xx);

那么你能解释一下这里的setTo是什么意思吗?它是将所有零值放入yy中,还是在xx为非零时放置1,在xx为零时放置0?


事实上,该文档相当晦涩。 - Antonio
1个回答

23

yy.setTo(0)会将所有像素设置为0。

yy.setTo(0, xx)会将所有与xx Mat中相应非零值像素对应的像素设置为0。

示例:

yy =
2 2 2
2 2 2
2 2 2

xx =
0 0 0
0 1 0
0 0 0

yy.setTo(0, xx) =>

yy = 
2 2 2
2 0 2
2 2 2

5
更正:第二个表单将把所有与 xx 矩阵中非零值对应的像素设置为 0。 - Lev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接