基于OpenCV的图像与视频处理:Cameo应用与相关技术
1. 面向对象设计的Cameo应用
Python应用程序可以采用纯过程式风格编写,不过为了提高模块化和可扩展性,我们将采用面向对象的风格。从OpenCV的I/O功能来看,无论图像的来源或去向如何,它们都具有相似性。对于像Cameo这样使用多个I/O流的应用,将I/O代码和应用代码分离会非常方便。
为了实现这一目标,我们创建了 CaptureManager 和 WindowManager 两个类,作为I/O流的高级接口。 CaptureManager 用于读取新帧,并可将帧分发到多个输出,如静态图像文件、视频文件和窗口。 WindowManager 则用于以面向对象的方式处理窗口和事件。
1.1 CaptureManager 类的实现
CaptureManager 类通过 VideoCapture 类进行初始化,具有 enterFrame() 和 exitFrame() 方法,通常在应用程序的主循环的每次迭代中调用。在 enterFrame() 和 exitFrame() 之间,应用程序可以设置 channel 属性并获取 frame 属性。
以下是 CaptureManager <
超级会员免费看
订阅专栏 解锁全文
4021

被折叠的 条评论
为什么被折叠?



