《计算机视觉算法:基于OpenCV的计算机应用开发》 —1.2 理解计算机视觉
1.2 理解计算机视觉
给计算机视觉下定义不是件简单的事情,而且计算机视觉专家在这件事情上也难以达成共识。因此,定义计算机视觉不在本书的范围和兴趣之内,我们只会给出一个简单实用且恰当的定义。历史上,计算机视觉是图像处理的同义词,特指一类以一张图像作为输入,在一系列操作之后,生成另一张图像或者一组输出值(或测量值)的方法和技术。而如今你会发现,计算机视觉工程师在谈论这个概念时,他们多半指的是能够模拟人类视觉的算法,比如看到(检测)图像中的一个物体或者人。
那么,本书要使用哪一个概念呢?答案是两者兼有。简而言之,计算机视觉是处理数字可视数据(或任何可视化数据)的算法、方法和技术。这里可视数据不一定是从传统摄像头获取的图像,它们可能是地图的图示或者海拔、热强度图,或者任何可视化的数据,而不管它们在现实世界中具体是什么含义。
根据这个定义,如下问题(以及更多其他问题)都可以用计算机视觉来解决:
如何柔化或者锐化一幅图像?
如何减小一幅图像的大小?
如何增加或者降低一幅图像的亮度?
如何检测一幅图像最亮的区域?
如何检测并追踪视频(或者连续图像)中的人脸?
如何识别监控视频中的人脸?
如何检测视频中的运动?
在现代计算机视觉领域,图像处理通常是计算机视觉算法的一部分,用来进行图像滤波、变换等。不过,很多人会互换使用“计算机视觉”和“图像处理”这两个词。
现在,计算机视觉是计算机科学和软件行业最火的主题之一。因为计算机视觉被应用在很多领域,在应用软件、数字设备或者工业机器上,它用计算机算法实现了原来依赖人眼才能完成的工作。在很多行业都有实际的例子,比如汽车、电影、生物医学仪器、安防、照片编辑、共享工具及视频游戏。我们会讨论其中的一部分例子,剩余的留给读者自行研究。
在汽车行业,计算机视觉被用来提高安全性和便捷性。计算机视觉使得汽车能够检测交通信号、提醒驾驶员不要超速甚至检测道路上的车道和障碍物来对可能的危险进行预警。我们无法穷尽计算机视觉颠覆汽车行业的所有可能,更不要说无人驾驶了。主要的科技公司都对此投入了巨量的资源,甚至把它们取得的成果共享给开源社区。在本书的最后一章,我们会使用这些成果展示如何实时检测多种类型的多个目标。
下图描述了汽车行业关心的一些物体、交通标志和其他感兴趣的区域,这些都是挂载在车上的摄像头常拍到的图像:
另一个面临技术革命的例子是生物医学行业。不只是器官和人体成像方法有了很大的提高,这些图像的理解和可视化也因为计算机视觉算法的进步而显著增强了。用极高精度的显微镜获取器官的图像,然后利用计算机可以检测器官是否癌变。机器人行业也涌现出许多有前景的方向,例如用机器人做手术。
下图中,计算机视觉算法可以在数字显微镜扫描出来的图像中统计生物组织的不同区域分别有多少感兴趣的特定生物目标(此例为细胞):
除了汽车和生物医学之外,计算机视觉也被广泛用在移动和桌面应用程序中来解决各种各样的问题。浏览手机上的应用程序商店看一下与计算机视觉相关的应用,你会发现,只有你想不到的,没有未来计算机视觉做不到的。
- 点赞
- 收藏
- 关注作者
评论(0)