gpt4 book ai didi

c++ - 如何切换范围为 [0,1] 的矩阵中的元素?

转载 作者:太空狗 更新时间:2023-10-29 23:46:01 25 4
gpt4 key购买 nike

我有这个矩阵,

0 1 0
1 0 1
0 1 0

我想将每个值为 1 的元素切换为 0,反之亦然:

1 0 1
0 1 0
1 0 1

如果我使用 bitwise complement operatordst = ~src 我得到了这个结果

255 254 255
254 255 254
255 254 255

当然,我可以通过一些算术和循环得到我想要的结果。但是有什么简单的方法可以在 OpenCV 中实现我想要的矩阵吗?谢谢。

更新:

这是代码片段:

#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>

int main()
{
cv::Mat a = (cv::Mat_<uchar>(3,3) << 0, 1, 0,
1, 0, 1,
0, 1, 0 );
cv::Mat b = ~a;
std::cout << b << std::endl;

return 0;
}

最佳答案

如果你只有oneszeros,你可以这样做:

cv::Mat b = 1 - a;

关于c++ - 如何切换范围为 [0,1] 的矩阵中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14405640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com