gpt4 book ai didi

c++ - 如何在 opencv 中屏蔽 float 垫

转载 作者:搜寻专家 更新时间:2023-10-31 02:23:19 28 4
gpt4 key购买 nike

我有一个 CV_32F 类型的垫子 A 和一个二进制值为 0 和 255 的掩码 M。例如,

A = [0.1 0.2; 0.3 0.4]  
M = [1 0 ; 0 0 ]

我想得到 A&B = [0.1, 0;0 0] 的结果虽然按位运算不适用于 float 垫。我尝试将掩码转换为 CV_32F,然后像下面这样掩码,也没有用。

M.convertTo(M, CV_32F);
A.copyTo(A, M);

那么怎么做呢?

最佳答案

您的代码不起作用,因为,作为 Mat::copyTo 的文档说,该函数不处理源矩阵和目标矩阵之间部分重叠的情况,而源矩阵和目标矩阵在您的情况下是相同的。

你应该把结果保存在别处,比如

cv::Mat dst;
A.copyTo(dst, M); // dst is what you want

关于c++ - 如何在 opencv 中屏蔽 float 垫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29432261/

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