计算机视觉概述
计算机视觉(Computer Vision)
生物视觉:从对猫的视觉的研究中发现,视觉是由面向边缘开始的。
数字图像
数字化的图像:图像中的点坐标、灰度值都是离散化的。
数字图像以矩阵的形式存储,以图像中的坐标为矩阵坐标,以灰度值为矩阵元素。
灰度图像只有一个通道,读取矩阵的 shape 为[x, y];RGB图像有三个通道,它的读取矩阵的shape为[x, y, 3]。
发展历程
应用场景
人脸识别、车辆识别、人脸解锁、智能相册等。
OpenCV 简介
开源计算机视觉库(Open Source Computer Vision Library)
基于BSD许可(开源)发行的跨平台计算机视觉库,用C++语言编写,同时提供了多种语言的接口。
发展历程
图像、视频基本操作
图像去噪
由于设备活外部干扰会产生噪声,去噪就是要减少噪声(噪点)。
图像增强
有目的地增强图片的局部特征。
图片修复
取出小噪声或划痕,这种技术的思想是通过坏点周围的像素点取代坏点。
图像分割
把图像分割成若干不相交的区域。
基于阈值的分割、基于区域的分割、基于边缘的分割、基于特定理论的分割等。
图像颜色通道分离(RGB分离)
将RGB三个颜色通道的分量分别显示和调整。
图像二值化
完全变黑白。
滤波
图像滤波是信号处理里的一个概念。定义图像灰度值变化剧烈的为高频信号,变化平缓的为低频信号。那么可以设计相应的高通、低通滤波器,来检测和提取图像中变化明显的地方(边缘)和使图像变得光滑,去除噪声。
图像特征提取
提取图像特征,可能用到卷积神经网络。
特征匹配
找出图片的特征点,可以利用特征点判断与其他图片的匹配程度等。
视频处理
人脸跟踪、车辆识别等。
OpenCV 图像读取与显示
OpenCV 操作图片
imread(filename, [flags])
flags为读取图片的颜色类型
imshow()
显示图片
imwrite(filename, img,)
img为要保存的图片,格式由文件名决定。
VideoCapture()
捕获摄像头的句柄。