我想知道如何拍摄两个不同的灰色图像并创建两者之间差异的蒙版。任何帮助将非常感激。
问问题
6936 次
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 回答