Raspberry pi 使用raspicam库时图像减法的空白输出

Raspberry pi 使用raspicam库时图像减法的空白输出,raspberry-pi,Raspberry Pi,我正在使用raspberry pi和raspicam来运行一个项目。我已经从下载了raspicam库? 我试图运行一个图像减法代码,但没有得到结果。这是我的密码 raspicam::RaspiCam_Cv Camera; Camera.set(cv::CAP_PROP_FRAME, CV_8UC1); if(!Camera.open()) { std::cerr<<"cannot open camera"<<std::endl; } Camera.grab(); C

我正在使用raspberry pi和raspicam来运行一个项目。我已经从下载了raspicam库? 我试图运行一个图像减法代码,但没有得到结果。这是我的密码

raspicam::RaspiCam_Cv Camera;
Camera.set(cv::CAP_PROP_FRAME, CV_8UC1);
if(!Camera.open())
{
   std::cerr<<"cannot open camera"<<std::endl;
}
Camera.grab();
Camera.retrieve(frame1);
Camera.grab();
Camera.retrieve(frame2);    
Camera.grab();
Camera.retrieve(frame3);
while (True)
  {
    frame1=frame2;
    frame2=frame3;
    Camera.grab();
    Camera.retrieve(frame3);
    absdiff(frame2,frame1,d1);
    imshow("result1",d1);
    absdiff(frame2,frame3,d2);
    imshow("result2",d2);
    }
raspicam::raspicam\u Cv摄像机;
摄像机组(cv::CAP_道具框,cv_8UC1);
如果(!Camera.open())
{
好吧,在你的循环中

frame1=frame2;
...
absdiff(frame2,frame1,d1);
这将是一种相同的零

另外,你考虑过这里的时间吗?你在时域中非常接近地抓取图像,因此它们自然会基本相同(条形噪声和快速运动),因此差异将接近于零


干杯,

是的..但同样的事情也适用于带有网络摄像头的windows机器,但代码不正确。你真的得到了非零图像吗?是的,我已经检查了我捕获的图像..我想问题在于opencv,它会自动将减法后的结果从8UC1格式转换为双精度格式我已经检查了d1中的差异,我得到了一个输出