【问题标题】:Writing & showing Image OpenCV编写和显示图像 OpenCV
【发布时间】:2013-03-25 02:48:55
【问题描述】:

我正在录制一段视频片段,并在每一帧上执行各种图像处理方法以获得所需的结果。

现在,一旦我得到我正在寻找的结果,我想在我的硬盘上捕获并存储一个特定的帧。

为此,我使用 imwrite 函数将帧写入 jpg。然后我使用 imshow 在 namesWindow 中显示这个框架。

问题是当所有条件都满足存储图像我的程序而不是存储图像时,给我一个运行时错误......

代码如下:

for(vector<double>::iterator iter_dis = Left_Point_distance.begin(); iter_dis != Left_Point_distance.end();++iter_dis)
    {


        if(*iter_dis > 20 && center.y >= 120 && center.x >=510 && Box[0].width > Box[0].height)
        {

            char* window_Punches = "Punches";
            namedWindow(window_Punches ,1);

            Mat Hook;

            imwrite("C:\\Hook.jpg", Hook);
            imshow(window_Punches, Hook);


        }


        if(*iter_dis >20 && center.y <=60)
        {

        }

    }

浏览opencv教程这是它的完成方式,但在我的情况下不起作用......

此外,所有过程都在无限循环中进行,视频帧存储在 Mat 帧中;然后使用 imshow 函数将其显示在窗口中。

谁能发现这里做错了什么......?

【问题讨论】:

    标签: c++ opencv


    【解决方案1】:

    您定义了 Mat Hook,但在尝试使用 imwrite() 写入时它是空的

    【讨论】:

    • 好的,如果条件满足,我如何从视频序列中抓取当前帧并将其存储到 Mat Hook 中并保存/显示该帧...?
    • box是一个bounding box,center是那个box的中心,Left_Point_distance存储两点之间的距离......camer得到的视频序列每帧存储在顶部的Mat帧中此代码位中未显示的无限 while 循环
    • 那么你可以使用Mat框架代替本地声明的Hook
    • 好的,非常感谢你....想知道为什么人们会反对这篇文章....:/
    【解决方案2】:

    你对这段代码有什么期望:

      Mat Hook;
    
      imwrite("C:\\Hook.jpg", Hook);
      imshow(window_Punches, Hook);
    

    您创建一个空矩阵并使用它。

    【讨论】:

    • 好的,如果条件满足,我如何从视频序列中抓取当前帧并将其存储到 Mat Hook 中并保存/显示该帧...?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多