文章目录
前言
一、CV是什么?
二、细节点记录
1.图像坐标与图像矩阵
2.透视变换
总结
前言
很早之前就听闻计算机视觉,尔后又听闻机器学习,一个个高大上的大名,让人有种可望而不可及的感觉。
某日入坑其中,其实和学习其他领域知识类似,都是从基础概念入手,开始看似简单,但是各种基础概念,可能还需要其他学科基础(如数学),也是让人一时难以深入其中。
又某日,有些概念终于理清,故在此记录。
一、CV是什么?
CV即Computer Vision,计算机视觉。近几年很火的人脸识别、自动驾驶都需要用到CV,比较传统的应用还有图像分类、图像识别等等。
目前高端版CV则是利用机器学习、深度学习来实现CV应用,但是传统的CV基础、算法依旧有用武之地。
二、细节点记录
1.图像坐标与图像矩阵
图像一般就是二维的,而且一般的会设定图像的坐标原点在图像的左上角
现假设有一张图片宽1000像素,高700像素。
图片上某个点的坐标就是(x,y),这里x对应宽、y对应高。那么图像原点的对角线坐标就是(1000,700)。通过很多看图软件都可以看到点的坐标。
接下来,我们假设通过cv2或plt读取图片,此时会返回一个img对象,类型就是矩阵。
如果是RGB三通道图,那么img的shape就是(700,1000,3),即这里形状是(高,宽,通道数)
如果是灰度图,那么img的shape就是(700,1000),即这里形状是(高,宽),差别就是没有通道信息,但是前面部分都是(高,宽)
这样,要访问图像上某个点,即img[x,y],x对应高、y对应宽,和图像普通意义上的坐标是反的。
2.透视变换
透视变换是将图片投影到一个新的视平面,可用于修图,比如实际物体是直线的,通过相册拍摄以后成了曲线的,就可以通过透视变换将照片转换为直线的。
透视变换可以通过提供4组坐标点(原图、目标图),计算出变换矩阵,从而实现将原图变换为目标图。
这里4组坐标点,其实是普通坐标点,即(宽,高)形式的坐标,而非图像的矩阵点。
利用透视变换,可以很容易的实现图片旋转。给出原图4个角的坐标、再给出旋转后的4个角的坐标,即可计算出变换矩阵,进而求出旋转后图像。
总结
CV领域其实内容很多,学习也是一点一滴积累,这篇文章也会随着学习不断去维护和完善的。