获取两个图像之间差异的图像蒙版Emgu CV

时间:2011-04-21 02:10:03

标签: image-processing opencv webcam masking emgucv

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

1 个答案:

答案 0 :(得分: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的值以减少噪音引起的误报。如果您仍然得到太多误报,则应使用motion estimationimage registration来调整这两个图像。

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