《计算机视觉算法:基于OpenCV的计算机应用开发》 —1.3.2 输入、处理和输出
1.3.2 输入、处理和输出
现在我们知道图像本质上就是以矩阵表示的实体,并且具有宽度、高度、元素类型、通道和深度等属性。剩下的问题就是,从哪里获取图像、如何处理图像以及怎么使用它们。
让我们把这个问题分解一下,先以一个简单的相册应用为例。假设你有一个包含相册应用程序的智能手机。相册应用通常允许你用手机的内置摄像头拍一张新照片或者一段新视频、使用之前录制的文件、在图片上加滤镜,甚至通过社交媒体或电子邮件分享给你的朋友及家人。在这个例子中,相册应用尽管看上去很简单,却包含了计算机视觉应用中所有关键的环节。
通过这个例子可以说,根据使用场景的不同,图像可以来自各种各样的输入设备。最常见的输入设备列举如下:
存储在硬盘、内存、网络或其他可访问地址上的图像文件。注意,存储的图像文件可以是原始文件(包含图像原始数据)或者编码后的文件(比如JPG格式);然而,它们都被视为图像文件。
摄像头拍摄的图像。注意这里的摄像头指个人计算机上的网络摄像头、智能手机上的摄像头或其他专业摄影设备、数字显微镜、望远镜等。
存储在硬盘、内存、网络设备等上面的连续或非连续的视频帧图像。跟图像文件类似,视频文件也可以被编码,因此在使用之前需要用一种特殊的软件(称为编解码器)来编码它们。
实时视频流中的连续帧图像。
从输入设备读入一幅图像之后,真正的处理就开始了。这是你应该在本书中关注的计算机视觉处理流程,计算机视觉算法从一幅图像中提取数值、用某种方式修改图像或者在上面执行某类计算机视觉任务。这部分通常是由给定设备上的软件来完成的。
现在,整个处理流程结束之后需要一个输出。输出完全依赖于计算机视觉算法本身及运行它的设备,但计算机视觉的输出通常是下面这些类型:
从处理过的图像,我们可以得到数字、形状、图形或其他非图像形式的输出。譬如,一个算法用来计算一幅图像或者监控视频中人的数量,那就只需要输出一个整数或者一个表示人数的图形。
存储在硬盘、内存或类似设备上的图像或视频文件。典型的例子是你手机或个人计算机上的照片编辑软件,用这些软件可以存储修改过的图像为JPG或PNG格式。
绘制并显示在屏幕上的图像和视频。显示器通常由一个固件(可能是在某个操作系统上)控制,固件控制其上显示的所有东西。
跟输入设备类似,图像输出设备广义上来说包含更多东西,比如打印机、绘图机、视频投影仪等。然而,上述清单已经足够覆盖我们将要讲述的计算机视觉算法中最基本最关键的输出类型了。
- 点赞
- 收藏
- 关注作者
评论(0)