OpenCV实战(6)——OpenCV策略设计模式
0. 前言
良好的计算机视觉程序始于良好的编程实践,构建无错误的应用程序只是一个开始。我们真正想要的是一个能够随着新需求的出现而轻松适应和发展的应用程序。本节将介绍如何充分利用一些面向对象的编程原则以构建高质量的软件程序,我们将学习一些重要的设计模式,帮助我们使用易于测试、维护和可重用的组件构建应用程序。
设计模式是软件工程中的一个常见概念,设计模式是针对软件设计中经常出现的通用问题的可靠的、可重用的解决方案。当前有许多设计模式在软件设计中被引入,我们应该对现有设计模式有所了解。
1. 策略设计模式颜色识别
1.1 颜色比较
假设我们想要构建一个简单的算法来识别图像中具有给定颜色的所有像素。为了达到目的,算法需要接受图像和颜色作为输入,并返回二值图像,其中在输入图像中与指定颜色相同的像素位置值为 1
,否则为 0
,例如,输入图像中位置 (1,1)
处的像素值与指定颜色相同,则在二值图像的 (1,1)
位置处像素值为 1
。同时,函数也可以接受颜色容差作为参数。
1.2 策略设计模式
为了实现颜色比较,本节将使用策略设计模式,这种面向对象的设