作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个程序,使用带有 CPP 的 OPENCV
将视频文件的每一帧存储为图像。我用 ffmpeg
和 mplayer
实现了这一点。我想使用 OPENCV
获取它。谁能帮忙?除了 IMWRITE()
之外,还有其他函数可以将图像存储到文件吗?
OPENCV
中是否有任何功能可以获取设备特定端口可用的实时视频流并进行实时处理?即将每一帧流存储为图像?谁能帮帮我?
提前致谢..:)
最佳答案
保存所有文件名递增的图像,这对我有用:
const char* videofilename = "StopMoti2001.mpeg";
cv::VideoCapture cap(videofilename); // open a video file
if(!cap.isOpened()) // check if succeeded
{
std::cout << "file " << videofilename << " not found or could not be opened" << std::endl;
return;
}
cv::namedWindow("output");
unsigned long counter = 0;
cv::Mat frame;
// read frames until end of video:
while(cap.read(frame))
{
// display frame
cv::imshow("output", frame); cv::waitKey(25); // remove this line if you don't need the live output
// adjust the filename by incrementing a counter
std::stringstream filename (std::stringstream::in | std::stringstream::out);
filename << "image" << counter++ << ".jpg";
std::cout << "writing " << filename.str().c_str() << " to disk" << std::endl;
// save frame to file: image0.jpg, image1.jpg, and so on...
cv::imwrite(filename.str().c_str(),frame);
}
关于c++ - 访问视频的每一帧并对其进行处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21036975/
有时,当我调用 ipdb 时,我知道我想要成为跟踪设置上方的框架。我认为这就是 API 公开 frame 参数的原因(如 the documentation 中所述)。 所以这是函数: import
我是一名优秀的程序员,十分优秀!