未能使用VideoWriter从网络摄像头捕获的内容中进行编写
Failing to use VideoWriter for writing from a webcam capture
我正在尝试将我的网络摄像头录制到文件中。为此,我使用以下代码。我得到的出口代码总是2。谁能帮我弄清楚是什么问题吗?我以前使用过一个类似的函数调用,将一个视频文件中的帧写入到一个新的视频文件中,它工作了。我不明白这种情况下有什么问题。
代码片段如下:
int main(int argc, char *argv[]){
cv::Mat frame;
cv::VideoCapture cap(0);
cv::BackgroundSubtractorGMG bg;
bg.numInitializationFrames=120;
bg.decisionThreshold = 0.95;
bg.maxFeatures = 10;
double fps = cap.get(CV_CAP_PROP_FPS);
CvSize frameSize;
frameSize.height = cap.get(CV_CAP_PROP_FRAME_HEIGHT);
frameSize.width = cap.get(CV_CAP_PROP_FRAME_WIDTH);
VideoWriter VW1("resultbuff.avi",CV_FOURCC('M','P','E','G'), fps, frameSize, 1);
VideoWriter VW2("recordingbuff.avi",CV_FOURCC('M','P','E','G'), fps, frameSize, 1);
VideoWriter VW3("finalResult.avi",CV_FOURCC('M','P','E','G'), fps, frameSize, 1);
if (!VW1.isOpened())
{
std::cout << "!!! Output video could not be opened" << std::endl;
return 2;
}
if (!VW2.isOpened())
{
std::cout << "!!! Output video could not be opened" << std::endl;
return 3;
}
if (!VW3.isOpened())
{
std::cout << "!!! Output video could not be opened" << std::endl;
return 4;
}
如前所述,程序以代码2退出。
好了,我找到答案了。这是dll的一个错误。我在调试模式下运行程序,链接的openCV dll用于发布模式。
相关文章:
- OpenCV 4.1.2 - 从网络摄像头获取帧并将其拆分
- 使用OpenCV和覆盆子上的多个网络摄像头拍摄延时摄影,出现多个V4L错误
- 使用源读取器从网络摄像头源获取 H264 样本
- 为什么我不能让 3 个网络摄像头与 pthreads 并行运行?
- 从 OpenCV 3 切换到 OpenCV 4 会导致网络摄像头以最大 5 fps 的速度录制,而不是通常的 30 f
- 如何使用realsense摄像头调试ROS错误消息
- Qt小部件中的摄像头访问
- 媒体基金会可以允许多个客户端同时访问单个网络摄像头设备吗?
- 从C++调用网络摄像头并在 Python 中显示图像
- 从 WinPE 下的网络摄像头捕获?
- UE4-使用摄像头时,观众不会旋转(俯仰)
- OpenCV没有显示来自Macbook网络摄像头的视频
- 使用OpenCV和C++在按键上截取网络摄像头源的屏幕截图
- 什么相当于英特尔实感 3D 摄像头 (SR300) 的 pmdGet3DCoordinates?
- 我正在尝试在树莓派中连接两个网络摄像头
- 使用OpenCV访问摄像头(通过GSTREAMER)
- OPENCV VIDEOWRITER创建空文件
- 弧球摄像头:如何获得正确的方向和向上
- AVG防病毒残疾摄像头
- 未能使用VideoWriter从网络摄像头捕获的内容中进行编写