文章目录
  1. 1. 系统与软件环境
  2. 2. 环境搭建
    1. 2.1. Python环境搭建
    2. 2.2. OpenCV环境搭建
  3. 3. 测试

前不久发现域名块到期又得续费了,才惊醒我的博客竟然荒废了将近一年了,故前去续费并打算重启博客,记录一下最近的学习和进展。因为要在寝室和实验室两头跑,一些在配置上遇到的问题没有记录的话,重复查找解决就要耗费我大量的时间,确实划不来,还不如写写博客记录一下,方便自己也方便大家,这就是所说的前人种树后人乘凉吧。博客存在的意义不也是不让自己在同一个问题上犯两次问题么?

最近在学习图像识别的相关知识,说到图像识别就必须提到OpenCV这个开源的计算机视觉库了。OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

前面也说了OpenCV支持多种语言接口,要说最合适的当选C++不让,但是偏偏我选的是Python,为什么呢?考虑到OpenCV+C++中C++我比较不擅长用,而且C++开发的进度要慢些(起码代码量也多点嘛==),而OpenCV+Python中Python接口虽然不如C++齐全和强大,但它则是我比较喜欢而且擅长的,相对于前者开发也快点, 两害相权取其轻,我选择后者。

系统与软件环境

  • Microsoft Windows8.1 专业版 6.3.9600
  • Python 2.7.11
  • OpenCV 2.4.13
  • NumPy 1.11.2
  • Matplotlib 1.5.3

Python这里选用的是2.7版本,虽然OpenCV3.0版本里支持了Python3接口,但是由于是入门还是选择稳定版本的OpenCV2,所以理所当然选择Python2。

相对于C++是可以直接调用OpenCV的,Python在使用的时候必须配合NumPy一起使用,这是由于在使用中最大值投影涉及到了对单个像素点的操作,因此必须使用到Python中常用的矩阵处理工具包,也就是NumPy。

在这里我还使用了Matplotlib,Matplotlib是python的一个绘图库,里头有各种各样的绘图方法。

环境搭建

Python环境搭建

1.前往Python官网下载Python2.7,安装就没什么可说的,一路next就行了。安装时选择加入环境变量。

2.为了方便Python安装资源包,我们需要安装easy_installpipeasy_installpip都是用来下载安装Python一个公共资源库PyPI的相关资源包的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
首先安装easy_install
下载地址:https://pypi.python.org/pypi/ez_setup
解压,安装.
python ez_setup.py
安装好easy_install 之后 再安装pip
下载地址:https://pypi.python.org/pypi/pip
解压,安装.
python setup.py install

这里注意一下,要把C:\Python27\Scripts;加入环境变量中,防止后面用不了pip。

3.NumPy的安装我们就可以使用pip进项安装了,由于资源在国外,下载起来很慢并且导致失败,我们这里需要换源,这里强烈推荐清华大学的tuna开源镜像站

在命令行里输入:
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

分分钟装完。

4.Matplotlib的安装同上

在命令行里输入:
pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

OpenCV环境搭建

1.前往OpenCV官网下载OpenCV2.4.13,下载慢的自行科学上网。下载完毕打开文件,其实就是将文件解压出来。

2前往opencv\opencv\build\python\2.7找到x64x86文件夹,由于我的电脑是64位的,在这里选择x64文件夹,将cv2.pyd文件复制到Python2.7安装目录下的Python27\Lib\site-packages中。

测试

1
2
3
4
5
6
7
import numpy as np
import cv2
img = cv2.imread('img.jpg',0)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

image

文章出自:Krzer http://www.krzer.com/版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

文章目录
  1. 1. 系统与软件环境
  2. 2. 环境搭建
    1. 2.1. Python环境搭建
    2. 2.2. OpenCV环境搭建
  3. 3. 测试