- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我面临的困难是实时背景扣除。尝试了许多方法,但无济于事。我要实现的任务是用相机正在流式传输的实时视频删除相机捕捉的背景图像。absdiff
是我目前用于背景扣除的方法,因为到目前为止看来效果最好。
我的代码如下所示:
while(1)
{
capture>>imagef;
imshow("image with foreground", imagef);
imagef.convertTo(imagef, CV_8UC3);
//cvtColor(imagef, imagef, CV_BGR2GRAY);
absdiff(imagef,imageb, imageFinal); //imageb is the background image
imshow("after diff", imageFinal);
//cvtColor(imageFinal, imageFinal, CV_BGR2GRAY); //change to grayscale
threshold(imageFinal, imageFinal, 20, 255, CV_THRESH_BINARY); // change to grayscale
imshow("Camera Window",imageFinal); //show video
int key = cvWaitKey(10); //Capture Keyboard stroke
if (char(key) == 27)
{
break; //If you hit ESC key loop will break.
}
}
cvtColor
,则在处理之前将imagef(视频帧)和imageb(静态图像)都转换为灰度,则我可以检索新图像之间的差异,但是,由于强度相似,会造成信息丢失,但是如果我降低阈值,则视频具有水平移动线(在明亮的条件下,因此我可以将其设置得太低)。
最佳答案
cv2.absdiff确实可以在彩色图像上使用。我验证了这一点。您的错误在其他地方。
关于opencv - Absdiff在灰度而不是BGR色彩空间上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22427539/
我正在尝试使用蒙版计算两个图像的绝对差异,因此在计算差异时只考虑图像的一个区域。但是 OpenCV 在 its function 中没有掩码部分.我看到了this question但对我不起作用。我试
我试图找到两张图片之间的区别,但是,我正在使用 JavaCV,虽然我发现了一个 openCV 函数,它似乎可以满足我的需要,但我似乎无法让它工作,因为我不确定我如何在 java 中使用 cvAbsDi
OpenCV 的 cv::absdiff(InputArray src1, InputArray src2, OutputArray dst) 使用什么方法/算法? 对于 1 channel Mat,
我正在使用 cv2::absdiff() 从图像矩阵中减去标量。我使用的代码是: double min; double max; Scalar mean; Scalar std_dev
我正在尝试使用 OpenCv 从图像中检测条形码,我正在使用渐变法:http://www.pyimagesearch.com/2014/11/24/detecting-barcodes-images-
我一直在研究一个通过背景减去来检测手的程序。我试图将相机的第一帧保存为背景并减去当前帧,但它们似乎以某种方式具有不同的亮度。我已经试了好几次了,但我没有换灯,可能是什么问题? image1 image
使用 Peano 风格的类型级自然函数,编写绝对差异类型级函数(又名类型族)相当容易: {-# LANGUAGE DataKinds, StandaloneKindSignatures, TypeFa
如何使用 magnitude和 absdiff ?我阅读了the documentation中的解释,但每次它都会出错,因为我不明白输入数组和输出究竟应该如何。应该是vector , Mat或 Sca
有谁知道如何让 absdiff 在 opencv 中工作。以下代码给出错误: @Override public void onManagerConnected(int status) {
这是来自 C++ 的示例: cv::absdiff(input,cv::Scalar(target),output); 其中 target 是 cv::Vec3b [190, 119, 102] 我在
是否可以在没有临时 img 的情况下计算 cv2.absdiff(img1, img2).sum() ? 我有一个视频流,我需要在处理开始时进行某种图像稳定。absdiff 在使用以下两个图像检查不同
我是一名优秀的程序员,十分优秀!