在 OpenCV 中使用 setTo 和 CV_32F 图像

问题描述 投票:0回答:1

我有两个 CV_32F 图像 V1 和 V2,大小相同 512x512

我正在尝试做:

float epsilon = 0.05f;
cv::Mat V = cv::abs(V1-V2);
cv::Mat mask = V < epsilon;
V1.setTo(V2, mask);

我检查了蒙版是 512x512 CV_8U 图像。

setTo 触发“checkScalar”断言失败。

当我阅读 setTo 的文档时,它说:

面膜
与 *this 大小相同的操作掩码。其非零元素 指示需要复制哪些矩阵元素。面具必须是 CV_8U 类型,可以有 1 个或多个通道

文档是否有误?遮罩 CV_32F 图像时,遮罩是否必须是 CV_8U 以外的其他类型?

c++ opencv mask
1个回答
0
投票

setTo
用于标量。你想要
copyTo

© www.soinside.com 2019 - 2024. All rights reserved.