在opencv:C++中每隔3秒绘制并显示一个矩形
Drawing and displaying rectangle every 3 seconds in opencv : C++
我想在每个3 Sec
绘制并显示矩形
我得到的代码如下:
vector <Rect> ROI;
for (size_t i = 0; i< ROI.size(); i++)
{
rectangle(src, ROI[i].tl(), ROI[i].br(), Scalar(110, 220, 0), 10, 8, 0);
imshow(source_window, src);
const std::chrono::duration<int, std::milli>threadSuspendDuration_k(3000);
std::this_thread::sleep_for(threadSuspendDuration_k);
}
当我画矩形,然后调用imshow
,即在for循环之外时,它工作得很好。
但当imshow
在for循环中时,我希望每3秒钟绘制一次矩形并显示一次。但事实并非如此。
我哪里错了?
您应该使用cv::waitKey
进行延迟。
vector <Rect> ROI;
for (size_t i = 0; i< ROI.size(); i++)
{
rectangle(src, ROI[i].tl(), ROI[i].br(), Scalar(110, 220, 0), 10, 8, 0);
imshow(source_window, src);
waitKey(3000);//3 seconds delay
}
相关文章:
- 如何使QLineSeries/QXYSeries仅显示一个点标签
- 如何在 for 循环中显示一个结果
- QlineEdit:显示一个处理过的文本,而不是输入的文本,而是保留它(自定义回声模式)
- 在qpixMap中显示一个CV :: MAT(键入CV_32F)
- QT子类UI表单显示一个空白窗口
- 尝试在另一个 SDL2 上显示一个图像没有错误,但不会显示第二个图像
- QT QML - 在 C++ 的现有应用程序窗口中显示一个矩形
- 如何使用CIMG.H库在另一个图像上显示一个图像
- 为什么不会显示一个消息框
- 按下热键时显示一个对话框实例
- 在MessageBox C 中显示一个变量
- 显示一个错误(在Visual Studio中),当某人试图在当前.cpp或.h文件中使用STL时
- MFC 组合框下拉列表:仅显示一个项目
- 如何使用数字1到26显示一个复杂度的字符
- 在visual Studio 2012上使用SDL加载.BMP图像时,它只显示一个帧
- 试图学习威纳皮.制作了第一个程序,必须向我显示一个窗口.CMD显示,但没有窗口
- 仅显示一个纹理
- 在来自相机的视频上显示一个矩形
- 在 MessageBoxW C++ 中显示一个变量
- 我的程序在将节点读入链表后不断循环,只重复显示一个节点