【发布时间】:2021-12-02 10:59:47
【问题描述】:
我尝试使用absdiff() 查找静止图像和从我的网络摄像头拍摄的帧之间的帧差异。我的代码如下:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/objdetect.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main() {
VideoCapture webcam(0);
Mat img, web, diff;
webcam >> web;
img = imread("/Users/dnxv2/Desktop/test.jpg");
cvtColor(web, web, COLOR_BGR2GRAY);
cvtColor(img, img, COLOR_BGR2GRAY);
absdiff(img, web, diff);
imshow("test", diff);
waitKey(0);
}
运行时遇到错误,无法解决。
test.exe 中 0x00007FF937E24F99 处未处理的异常:Microsoft C++ 异常:内存位置 0x000000FA29CFE1B0 处的 cv::Exception。
我错过了什么吗?非常感谢您的帮助!
【问题讨论】:
-
你怎么知道absdiff是源?请在使用前测试 web 和 img。其中一个可能是空的。
-
啊我终于知道我的程序为什么会报错了,谢谢你的帮助! :D p/s 分辨率问题。
标签: c++ visual-studio opencv