- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
当我在函数中使用:'x'.write(frame) 用于在 opencv 中写入视频文件时,程序传递代码并且我编译它没有错误但是当我打开文件时我看到它是 0 kb 并且播放器无法播放。有人可以帮助我吗?
这是我的代码:
// Setup output video
cv::VideoWriter output_cap("output.avi",
CV_CAP_PROP_FOURCC,
CV_CAP_PROP_FPS,
cv::Size(1376, 768));
// Loop to read frames from the image and write it to the output capture
cv::Mat frame = imread("1.jpg", 0);
for(int hgf=1;hgf<=300;hgf++)
{
if (!frame.data)
{
break;
}
output_cap.write(frame);
}
大家好!
最佳答案
我认为主要问题是您的代码将错误的 FOURCC 值传递给 VideoWriter
。 CV_CAP_PROP_FOURCC
(#defined as 6)用于为 FOURCC 属性命名,但它不是正确的值。 CV_CAP_PROP_FPS
(#defined 为 5)类似,但这里的效果只是告诉 VideoWriter
使用 5.0 fps。
这对我有用:
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
if ( argc != 2 ) {
cout << "image required" << endl;
return -1;
}
Mat frame = imread(argv[1], 1);
VideoWriter output_cap("output.avi", CV_FOURCC('M','J','P','G'), 15,
frame.size());
for(int hgf=1; hgf<=300; hgf++) {
output_cap.write(frame);
}
return 0;
}
注意:根据我的经验,在 Linux 上,VideoWriter
对视频格式的支持一般。对于两种广泛使用的格式 M-JPEG(上面使用)和 H.264,M-JPEG 在 OpenCV 2.4 上运行良好,但在 3.X 和 H.264 上运行良好,与此 question 中的方式相同。对于 2.4 和 3.X。
关于c++ - 为什么函数 'x' .write(frame) 对我不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38921918/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!