人类的视觉能够很轻易地从图像中识别出内容。但是,计算机视觉不会像人类视觉那样能够对图像进行感知和识别,更不会自动控制焦距和光圈,而是把图像解析为按照栅格状排列的数字。
这些按照栅格状排列的数字包含大量的噪声,噪声在图像上常表现为引起较强视觉效果的孤立像素点或像素块,使得图像模糊不清。因此,噪声是计算机视觉面临的一个难题。要想让图片变得清晰,就需要对抗噪声。
计算机视觉使用统计的方法对抗噪声,例如,计算机视觉虽然很难通过某个像素或者这个像素的相邻像素判断这个像素是否在图像主体的边缘上,但是如果对图像某一区域内的像素做统计,那么上述判断就变得简单了,即在指定区域内,图像主体的边缘应该表现为一连串独立的像素,而且这一连串像素的方向应该是一致的。
模块 | 介绍 |
---|---|
Core | 包函OpenCV库的基础结构以及基本操作 |
Improc | 包函基本的图像转换,包括滤波、卷积 |
Highgui | 轻量级的UI工具包 |
Video | 读写视频流的方法 |
Calib3d | 校准单个、双目以及多个相机的算法实现 |
Feature2d | 检测、描述、匹配特征点算法 |
Objecttect | 检测待定目标的算法 |
ML | 包含大量机器学习算法 |
Flann | 多维空间的聚类和搜索 |
GPU | 包含在CUDA GPU上优化实现的方法 |
Photo | 计算机摄影学的一些方法 |
Stitching | 图像拼接流程的实现 |
dnn | 深度神经网络模块 |
安装Python这里我使用的是Anaconda
创建虚拟环境
conda create --name 环境名称 python=3.8
进入环境
activate 环境名称
修改源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
查看源如下图既可
conda config --show channels
安装需要的依赖
pip install numpy pandas matplotlib opencv-python
查看是否安装成功
pip list
测试一下是否安装成功
准备一张图片 这里我命名为image.jpg
import cv2
image = cv2.imread("image.jpg")
print(image)
输出类似如下: