【发布时间】: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 函数将其显示在窗口中。
谁能发现这里做错了什么......?
【问题讨论】: