4

我想知道如何拍摄两个不同的灰色图像并创建两者之间差异的蒙版。任何帮助将非常感激。

4

1 回答 1

4

假设相机是静止的并且图像非常好,您可以使用逐元素减法找到两个图像之间的差异。使用 OpenCV 的 C++ API,它看起来像这样(注意:此代码未经测试):

void FindDifference(cv::Mat src1, cv::Mat src2, cv::Mat &dst, int threshold) {
    dst = cv::abs(src2 - src1);
    cv::threshold(dst, dst, threshold, 255, cv::THRESH_BINARY);
}

您可以调整 的值threshold以减少由噪声引起的误报。如果您仍然得到太多误报,您应该使用查看运动估计图像配准来对齐两个图像。

我不熟悉 EmuCV 的 API,但是将上面的代码转换成它的 API 调用应该是相当简单的。

于 2011-04-21T06:14:12.283 回答