- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试打开视频并将其写入某个位置:
#include <opencv2/opencv.hpp>
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "iostream"
using namespace cv;
using namespace std;
int main()
{
string videoName = "KorExp3.avi";
VideoCapture video(videoName);
Mat frame;
video >> frame;
VideoWriter w("D:/w.avi", CV_FOURCC('M', 'P', '4', '2'), 30, frame.size(), true);
while (true) {
video >> frame;
imshow("frame", frame);
w << frame;
}
w.release();
waitKey(0);
return 0;
}
在 Debug模式下,将鼠标悬停在 video
上时会显示:
Information not available, no symbols loaded for opencv_world340d.dll
我已将此 dll 文件和视频文件复制到 .exe 的同一位置,但仍然发生同样的事情。我还尝试了视频的绝对路径 string videoName = "D:\\KorExp3.avi";
但没有成功。
如何使用 openCV 捕获视频并将其写入某个位置?
最佳答案
您是否生成(编译)带有调试符号的 OpenCV??这是使用 OpenCV 录制视频文件的示例(简单)代码...我在 Linux 上使用 Qt(5.5.1 及更高版本),但这并不重要......它适用于所有操作系统...
void MainWindow::on_Rec_Click()
{
QString szNome = QString("%1/%2-%3-M.mp4").arg(szPath).arg(szCamIndex).arg(obAgora.toString("yyyyMMddHHmmss"));
qDebug() << szNome;
char szCPath[2048];
strcpy(szCPath, szNome.toStdString().c_str());
qDebug() << "Path: " << szCPath;
MakePath(szCPath, inIndice+1); // If the path does not exist...
SaveEventToDB(szNome, inIndice+1, obAgora, 0); // Register event in DB
qDebug() << m_Capture[inIndice - 1] << " / " << inIndice;
cv::Size S = cv::Size((int) m_Capture[inIndice]->get(CV_CAP_PROP_FRAME_WIDTH), // Acquire input size
(int) m_Capture[inIndice]->get(CV_CAP_PROP_FRAME_HEIGHT));
qDebug() << S.width << " / " << S.height;
int ex = cv::VideoWriter::fourcc('M','P','4','2');
qDebug() << ex;
double dlFrameRate = m_Capture[inIndice]->get(CV_CAP_PROP_FPS);
qDebug() << dlFrameRate;
m_Output = new cv::VideoWriter(szNome.toStdString(), ex, dlFrameRate, S, true);
qDebug() << "Object cv::VideoWriter created.";
m_OutputFile = szNome;
m_inTimerID = startTimer(1000 / dlFrameRate);
}
void MainWindow::timerEvent(QTimerEvent *event)
{
if(m_inActualView != 0) {
cv::Mat image;
*m_Capture[m_inActualView] >> image;
if(m_Output) {
if(m_Output->isOpened()) {
*m_Output << image;
}
}
cv::flip( image,image, 0);
// Show the image
m_Ui->openCVViewer->showImage( image );
}
}
关于c++ - VideoCapture 不会打开视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57926676/
我几乎阅读了所有关于这个主题的问题,但我没有解决它。我正在研究 Linux/Mint。我试图用 opencv 打开我的网络摄像头(或任何无关紧要的视频)并从视频中读取一帧。我写了这段代码: impor
我正在尝试使用 C++ 和 OpenCV 来使用我的网络摄像头,但我遇到了这个错误 (...):Images.cpp:(.text+0x27): undefined reference to cv::
我已经在禁用 GPU 的情况下编译了 caffe,然后 cp caffe/build/Makefile openpose/Makefile.conf 运行 make all -j 6 得到这些错误:
我正在运行以下代码: import numpy as np import cv2 import os count = 0 cap = cv2.VideoCapture("/home/simon/PRO
我有一个问题似乎是由 OpenCV 3.xx 引起的 - 该问题在 OpenCV 2.xx 中没有体现 问题是读取视频文件。我的代码设置如下: >#include >#include >#incl
这可能是一个愚蠢的问题,但我真的无法弄清楚。 首先:抱歉标题含糊不清,我不太确定如何用几句话来描述我的问题。 我在 MS Visual Studio、C++ 中使用 OpenCV 2.4.3。我正在使
我正在使用 webrtc 示例代码从我的 Android 设备流式传输到网页。示例代码不具备切换摄像头的功能。我试图解决它,但失败了。该示例使用 VideoCapturerAndroid 类,我发现切
我正在尝试打开视频并将其写入某个位置: #include #include "opencv2/core/core.hpp" #include "opencv2/highgui/highgui.hpp
我是论坛的新手。几周前我开始将 Opencv 与 Java 结合使用。在我的程序中,我使用 videocapture 从 avi 文件中读取帧。昨天我注意到,在我的程序的不同运行中,从文件读取的第 n
我已经使用工作线程实时获取最新帧,代码如下。但是在我的代码中,有一个问题。该帧一直是第一帧,它没有更新。结果,第一帧做了remap(),remap result frame做了下一个循环remap .
根据这个article的回答这是指将单个图像组合成4面的方式。从那里开始,我想从仅使用单个视频更改为使用 4 个视频作为输入。 这是我的代码,它使用单个视频作为输入 import cv2 import
import numpy as np import cv2 cap = cv2.VideoCapture(0) fourcc = cv2.cv.CV_FOURCC(*'XVID') out = cv2
我正在尝试对 OpenCV 的 VideoCapture 类进行“包装”,但无法使其正常工作,我的代码如下: #include "opencv2/opencv.hpp" #include "openc
我可以在 VLC 中打开一个流,但在 OpenCV 中我无法捕获帧。 (Python 2.7、OpenCV 3.4.3 二进制分发版 x86、Windows 10)。我一直在关注本指南:https:/
我有几个 avi 文件,我试图逐帧读取这些文件。我使用 opencv 3.1.0 来读取帧: import cv2 cap = cv2.VideoCapture(file_path) 然后我只读了 c
该代码显示正确的图像,但是在图像“帧”播放后显示错误消息。所以我无法获得“res”图像 它只显示“无对象文件”错误消息。 我应该修复哪一部分才能使其正常工作? import cv2 import nu
我有一台装有2个Nvidia RTX GPU的机器。 主要任务是解码来自IP摄像机的h264视频,并使用GPU 将原始帧编码为JPEG 。 我通过以下方式从源代码构建了opencv + cuda: c
import cv2 import sys cpt=0 vidStream=cv2.videoCapture(0) while True: ret,frame=vidStream.read()
我一直试图找到一种方法来异步检查以查看我使用videocapture拍摄的下一帧相机是否准备就绪。 我遇到了waitAny(),它被描述为“等待VideoCapture的就绪帧”。 在OpenCV文档
定义类很新,我遇到了在自制类中定义 VideoCapture 对象的问题。请参阅下面的代码。 我尝试创建一个包含有关视频文件的所有信息的类。所以我初始化了 videoCapture 对象。哪个工作正常
我是一名优秀的程序员,十分优秀!