OpenCV VideoWriter 大小问题

2024-01-07

我正在尝试读取视频文件,处理它,并将处理后的帧写入作为输出视频文件。但是,我收到以下错误:

    OpenCV Error: Assertion failed (img.cols == width && img.rows == height && channels == 3) in write, file /.../opencv-cpp/modules/videoio/src/cap_mjpeg_encoder.cpp, line 829
    terminate called after throwing an instance of 'cv::Exception'
      what():  /.../opencv-cpp/modules/videoio/src/cap_mjpeg_encoder.cpp:829: error: (-215) img.cols == width && img.rows == height && channels == 3 in function write

我确定我有 3 个频道(我检查过.channels()) 之前write()函数发生:

//generate video
cout<<finalOutputRGB.channels()<<endl;
outputCapRGB.write(finalOutputRGB);

所以问题不在这里。也许是我初始化的方式?

// Setup output videos
VideoWriter outputCapRGB(rgbVideoOutputPath, captureRGB.get(CV_CAP_PROP_FOURCC), captureRGB.get(CV_CAP_PROP_FPS),
Size(captureRGB.get(CV_CAP_PROP_FRAME_WIDTH), captureRGB.get(CV_CAP_PROP_FRAME_HEIGHT)));

会是什么呢?我想到的一件事是,在处理帧的过程中,它们被裁剪,因此分辨率不一样。也许这可能就是原因。但话又说回来,OpenCV 不允许录制任何修改过的视频是愚蠢的。

因此,我尝试使用裁剪后的帧尺寸创建视频编写器对象,如下所示:

// Sizes of the videos to be written (after the processing)
Size irFrameSize = Size(449, 585);
Size rgbFrameSize = Size(488, 694);

// Setup output videos
VideoWriter outputCapRGB(rgbVideoOutputPath, captureRGB.get(CV_CAP_PROP_FOURCC), captureRGB.get(CV_CAP_PROP_FPS), rgbFrameSize);
VideoWriter outputCapIR(irVideoOutputPath, captureIR.get(CV_CAP_PROP_FOURCC), captureIR.get(CV_CAP_PROP_FPS), irFrameSize);

但是,我仍然遇到同样的该死的错误。

或者,我也很感谢任何可以在 Ubuntu 上方便地裁剪视频文件的软件的建议。这样也能解决问题。我会裁剪视频并将其输入。

有什么想法吗?


例外情况是您要写入的图像帧的大小与视频写入器中的大小不同。您应该检查您正在编写的每个图像帧是否与视频编写器中的宽度/高度相同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenCV VideoWriter 大小问题 的相关文章

  • 使用 gcc 在 Linux 上运行线程构建块 (Intel TBB)

    我正在尝试为线程构建块构建一些测试 不幸的是 我无法配置 tbb 库 链接器找不到库 tbb 我尝试在 bin 目录中运行脚本 但这没有帮助 我什至尝试将库文件移动到 usr local lib 但这又失败了 任何的意见都将会有帮助 确定您
  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • 4点透视变换失败

    我一直在尝试进行 4 点透视变换 以便开始进行一些 OCR 操作 从下图开始我可以检测到车牌号 并将其裁剪出来 绿色框是边界框 红点是我想要正方形的矩形的角 这是变换的输出 乍一看 它似乎已经完成了由内而外的变换 将零件放在两侧而不是点之间
  • 如何使用 matplotlib 或 graphviz 在 networkx 中绘制多重图

    当我将多图 numpy 邻接矩阵传递给 networkx 时 使用 from numpy matrix 函数 然后尝试使用 matplotlib 绘制图形 它会忽略多条边 我怎样才能让它绘制多条边 Graphviz 在绘制平行边方面做得很好
  • 将附加 JPanel 添加到 JPanel

    伙计们 这是一个相当基本的问题 基本上我有这样的代码 public SuperPanel setLayout new BorderLayout add panel1 BorderLayout NORTH add panel2 BorderL
  • 文本小部件内的 Tkinter 检查按钮和滚动

    使用中找到的代码这个 stackoverflow 帖子 https stackoverflow com questions 5860675 variable size list of checkboxes in standard tkint
  • 是否可以刷新视图中的ViewBag值?

    我正在尝试做一个动态下拉列表 我从数据库中获取下拉列表的选项并将它们放入对象列表中 根据复选框值 我从列表中删除对象并将该列表设置为 ViewBag 值 public ActionResult ThematicManagement stri
  • 使用 >450K 实例训练 Dlib 对象检测

    dlib 是否能够使用大规模数据集来训练目标检测器 我有超过 450K 的面部图像来训练面部检测器 是否可以使用 Dlib 或者我需要转向另一个替代方案 您可以使用多少数据取决于您的计算机中有多少 RAM 因此 也许您可 以根据每个图像的大
  • Mongodb,$sum 有条件

    文件 name abc length 25 area 10 name abc length 5 聚合查询后的输出 count 2 summarizedLength 30 summarizedArea null id name abc The
  • 字典更新序列元素#0的长度为3; 2 为必填项

    我想向对象添加线条account bank statement line通过其他对象但我收到以下错误 字典更新序列元素 0 的长度为 3 需要 2 这是我的代码 def action account line create self cr
  • System.TypeLoadException Microsoft.VisualBasic ASP.NET Core 2

    Microsoft VisualBasic 程序集与 ASP NET Core2 不兼容吗 我有一个 C 类库 它提供了一种读取 CSV 文件的方法 我选择使用 Microsoft VisualBasic FileIO TextFieldP
  • 如何在另一个微调器打开时一键打开一个微调器

    我有几个spinners在表格上 当我单击其中任何一个时 它会打开并显示选项 当我点击其他任何一个spinner它关闭了打开的spinner但随后我需要再次单击所需的spinner以便打开它 我想捕获第二个微调器的第一次单击 以便我可以关闭
  • 用于查找不属于超链接的文本的正则表达式

    我试图找到一个可用于解析 HTML 块以查找某些特定文本的单个正则表达式 但前提是该文本不是现有超链接的一部分 我想把非链接变成链接 这很容易 但是用单个表达式识别非链接似乎比较麻烦 在以下示例中 This problem is a res
  • 使用 --code-coverage 运行时,Mockery 失败并显示“无法加载模拟...类已存在”

    我正在尝试模拟 phpunit 的类 Php 单元失败并出现错误Could not load mock class already exists 这是我正在运行的唯一测试 因此该类不可能已经被模拟 任何建议将不胜感激 这是错误情况 name
  • Win32 C++ 控制台清屏而不闪烁

    我见过一些主机游戏 屏幕会自行刷新 清除 而不会出现烦人的闪烁 我已经尝试了很多解决方案 这是我目前得到的 while true if screenChanged if something needs to be drawn on new
  • intel oneAPI 基础安装中 ifort 的调用过程是怎样的?

    我正在尝试使用 intel 的数学内核库及其 fortran 编译器 该编译器内置于 oneAPI 基础套件中 然而 命令 ifort 不起作用 因为终端抱怨系统中找不到它 我已经使用命令 source intel oneapi setva
  • fit() 按预期工作,但在评估()期间模型偶然执行

    我注意到一个问题 在评估 期间 我没有看到基于fit 结果的预期结果 我在网上发现了很多讨论 人们都有类似的问题 例如 this https github com keras team keras issues 6977开放问题讨论了 dr
  • C# 中的范围划分

    将范围值分组 例如范围在 0 到 100 之间 我有四个组 A B C D 如果我想将范围分为四组 喜欢 0 25D组 C组26 50 51 75 B组 A组76 100 如何使用 C 进行此类分组 并将范围保存在列表中 那么如何判断某个数
  • Wordpress Mobile - 更改部分 URL 而不是重定向到首页?

    我被要求在一个客户网站上做一些维护工作 但我并没有参与构建 该网站是使用 Wordpress 构建的 移动设备上的任何用户都将被重定向到该网站的更适合移动设备的版本 问题是 如果移动用户单击原始网站 主页 内页等 的任何链接 无论是什么链接
  • “注册 COM 互操作”与“使程序集 COM 可见”

    这两个选项之间的真正区别是什么 我所知道的是 注册 COM 互操作此选项在程序集上执行 regasm 并将程序集注册为注册表中的 COM 组件 也可能不是 以及所有类似 COM 的注册表项 这一步会生成TLB文件吗 还做了什么 有时我看到编
  • 病态的正则表达式会爆炸(时间和内存)?

    什么是病态的正则表达式会破坏许多解析器 在时间和内存上 以及哪些解析器 正则表达式越基本 越标准 非恶意用户无意中想出它的可能性就越大 请随意发布实际时间和内存数据以及解析器版本 我似乎记得 PERL 中过多的后向断言或 编辑 回溯据说可以
  • OpenCV VideoWriter 大小问题

    我正在尝试读取视频文件 处理它 并将处理后的帧写入作为输出视频文件 但是 我收到以下错误 OpenCV Error Assertion failed img cols width img rows height channels 3 in