C++图像处理OpenCV之屠龙宝刀第5篇——为什么计算机视觉很难做?
1. 什么是计算机视觉?
计算机视觉是把数据从摄像头现场拍摄的图片或视频中提取出来并转换为一种新的数据决策或一种新的数据表示。
所有这些转换都要实现一些特定的目标。
输入数据可能包含一些上下文信息,例如“在车内发现摄像头”或者“激光雷达发现1英米范围内有一个物体”。数据决策可能是“在视觉场景中有一个人”或者“在这块皮肤表皮上有14个肿瘤”。
一种新的数据表示可能意味着把一张彩色图片转换为一张灰度图片或者从一个图片序列中获取一组摄像头的运动信息。
2. 为什么计算机视觉很难做?
在一个机器视觉系统中,计算机能看到的是从一张摄像头图片或者桌子图片中获取到的一个网格的数据表示,仅此而已。
比如,如下图所示:
再比如,摄像头下的视觉错位——2D视角下的物体图片会跟随视角的变换发生变化;
如下图所示,