[经验分享]OpenCV显示上一次调用的图片的处理方法

最近在研究OpenCV时发现,重复调用cv::imshow("frame", frame)时,会显示出上一次的图片。

网上搜索了方法,有以下3种因素可能导致:

1. 图像变量未正确更新:可能在更新 frame 变量之前就已经调用了 imshow。frame数据未清空;

2.绘制延迟:有时,由于绘制或渲染的延迟,上一帧的图像可能会短暂显示。这通常发生在高帧率或低延迟的应用中;

3.窗口未正确刷新:在某些情况下,窗口可能没有正确刷新以显示新的图像。

检查代码,发现在关闭摄像头时,未对frame队列数据清空,导致全局变量frames中还存在frame数据。使用while循环,调用queue队列的 pop方法,将数据清空后问题就解决了。

相关推荐

  1. Opencv图像平滑处理方法介绍

    2024-03-19 12:38:05       44 阅读
  2. 有趣经历分享

    2024-03-19 12:38:05       57 阅读
  3. 压测经验过程经验记录

    2024-03-19 12:38:05       46 阅读
  4. 关于指针错误调用

    2024-03-19 12:38:05       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-19 12:38:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-19 12:38:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-19 12:38:05       87 阅读
  4. Python语言-面向对象

    2024-03-19 12:38:05       96 阅读

热门阅读

  1. leetcode 5.最长回文子串

    2024-03-19 12:38:05       45 阅读
  2. 配置lvs(DR)

    2024-03-19 12:38:05       37 阅读
  3. MySQL常用命令总结

    2024-03-19 12:38:05       42 阅读
  4. ElasticSearch初识

    2024-03-19 12:38:05       35 阅读
  5. pytorch升级打怪(八)

    2024-03-19 12:38:05       42 阅读
  6. 机器视觉系统选型-选型&标定&通信

    2024-03-19 12:38:05       41 阅读
  7. 一个经典的wordpress产品列表模板含CSS样式

    2024-03-19 12:38:05       42 阅读