一、OpenCV入门(环境篇)

一、OpenCV入门(环境篇)


一、图像的分类
1.二值图像

一幅二值图像的二维矩阵仅由0或1两个值构成,0代表黑色,1代表白色。由于每一个像素(矩阵中每一元素)取值仅有0或1两种可能,所以计算机中二值图像的数据类型通常为1个二进制数。二值图像通常用于 文字、线条图像的扫描识别(OCR)掩膜图像 的存储

2.灰度图

每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮白色的灰度,尽管理论上这个采样可以是任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑色与白色两种颜色;但是,灰度图像在黑色与白色之间还有许多级的颜色深度。灰度图像经常是在单个电磁波频谱如可见光内测量每个像素的亮度得到的,用于显示的灰度图像通常用每个采样像素8位的非线性尺寸来保存,这样可以有256级灰度(如果用16位,则有65536级)

3.彩色图

每个像素通常是由 红(R)绿(G)蓝(B) 三个分量来表示的,分量介于 (0, 255) 。RGB图像与索引图像一样都可以用来表示彩色图像。与索引图像一样,它分别用 红(R)绿(G)蓝(B) 三原色的组合来表示每个像素的颜色。但与索引图像不同的是RGB图像每一个像素的颜色值(由RGB三原色表示)直接存放在图像矩阵中,由于每一像素的颜色需由 RGB 三个分量来表示,MN分别表示图像的行列数,三个 M×N 的二维矩阵分别表示各个像素的 RGB 三个颜色分量。RGB图像的数据类型一般为8位无符号整型,通常用于表示和存放真彩色图像

二、OpenCV 简介

OpenCV 是一款计算机视觉处理的开源软件库,支持与计算机视觉和机器学习相关的众多算法,并且正在日益扩展

  • OpenCV-Python 使用 Numpy 数组,在安装 OpenCV 前,应先安装 NumpyMatplotlib
三、Windows 下安装 OpenCV

在安装 OpenCV-Python 前要注意,由于一些经典的算法被申请了版权,新版本的 OpenCV-Python 受到了很大的限制,所以应该选用 3.4.3以下 的版本

:不推荐使用 Anaconda 安装 OpenCV,因为 Anaconda 安装的是最新版的 OpenCV,即使修改安装的版本,也会出现与 Conda 编译器版本不匹配的问题,因此不推荐

首先要下载 OpenCV-Python 库文件,在下述的镜像中下载 OpenCV-Python 的库文件即可,注意,要与自己当前环境的Python版本相对应

1.pip 的安装情况检查

通过快捷键 Win + R 输入 cmd 打开命令窗口,输入以下指令:

python -m pip --version

在这里插入图片描述
检查计算机中是否已经安装了 pip,在安装较新版本的Python解释器时会连同 pip 一起安装,因此一般不需要特意安装 pip

Python的系统解释器一般会安装在同一路径下:(作者本人的路径如下) C:\Users\GOODman\AppData\Local\Programs\Python\

pip 一般放在下面的路径中:
…\Python\Python37\Scripts
我们需要把下载好的 OpenCV-Python 库文件放在和 pip 同一目录之下

由于3.4.3以下版本的 OpenCV-Python 最高只支持 Python3.7,因此作者本人选择了 Python3.7 来安装 OpenCV-Python 库

2.pip 版本更新

进入 pip 所在目录

  • :这个路径只是作者本人的路径,需要根据自身实际情况来输入 pip 的路径
cd C:\Users\GOODman\AppData\Local\Programs\Python\Python37\Scripts

更新 pip 到最新版本

python -m pip install --upgrade pip

在这里插入图片描述

3.pip 安装 OpenCV-Python 库

输入以下指令:

  • opencv_python-3.4.2.17-cp37-cp37m-win_amd64.whl 是 OpenCV-Python 库文件名,需要根据自身的实际安装情况来输入 .whl 文件名
pip install opencv_python-3.4.2.17-cp37-cp37m-win_amd64.whl

在这里插入图片描述

4.pip 安装 Numpy 和 Matplotlib
pip install numpy
pip install matplotlib
5.pip 安装 OpenCV-Python 的扩展库

如果我们要利用 SIFTSURF 等进行特征提取时,还需要安装:

pip install opencv-contrib-python==3.4.2.17

在这里插入图片描述

三、OpenCV 模块介绍

OpenCV 中,corehighguiimgprocOpenCV 中最基础的模块

  • core模块 实现了最核心的数据结构及其基本运算,如绘图函数、数组操作相关函数等

  • highgui模块 实现了视频与图像的读取、显示、存储等接口

  • imgproc模块 实现了图像处理的基础方法,包括图像滤波、图像的几何变换、平滑、阈值分割、形态学处理、边缘检测、目标检测、运动分析和对象跟踪等

对于图像处理其他更高层次的方向及应用,OpenCV 也有相关的模块实现

  • features2d模块 由于提取图像特征以及特征匹配,nonfree模块实现了一些专利算法,如sift特征

  • objdetect模块 实现了一些目标检测的功能,经典的基于Haar、LBP特征的人脸检测,基于HOG的行人、汽车等目标检测,分类器使用Cascade Classification(级联分类)和Latent SVM等

  • stitching模块 实现了图像拼接功能

  • FLANN模块 包含快速近似最近邻搜索FLANN和聚类Clustering算法

  • ml模块 机器学习模块(SVM、决策树、Boosting等等)

  • photo模块 包含图像修复和图像去噪两部分

  • video模块 针对视频处理,如背景分离、前景检测、对象跟踪等

  • calib3d模块 这个模块主要是相机校准和三维重建相关的内容,包含了基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体相似性算法,3D信息的重建等等

  • G-API模块 包含超高速的图像处理pipeline引擎

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值