当前位置:首页 > 智能硬件 > 机器视觉
[导读] 1. Why Python C/C++ 早期的计算机视觉领域大多数程序都是用C/C++编写。随着计算机硬件速度越来越快,开源平台越来越多,开发者选择计算机视觉算法的实现语言变得更

1. Why Python C/C++

早期的计算机视觉领域大多数程序都是用C/C++编写。随着计算机硬件速度越来越快,开源平台越来越多,开发者选择计算机视觉算法的实现语言变得更加灵活,代码编写的效率和易用性成为选择编写语言时的考虑因素,而不再仅仅只考虑执行效率。
 

Python

Python的跨平台、开放性、易用性,加之丰富的资源使其成为近年来越来越多开发者的选择。国外出版了大量的Python编程、学习书籍,亚马逊搜索Python图书,结果列表长达100页共5712本(截止2016年5月28日)。你也可以从诸如Coursera或Edx等mooc平台找到像MIT校长讲授的Python入门等课程。国内也引进了许多优秀的学习资料和许多在线课程。除了这些学习资料,更重要的是Python自带很多可免费获取的强大而便捷的图像处 理、数学计算和数据挖掘模块和丰富的其他网络资源。

本文以windows平台为例,介绍使用Python进行计算机视觉编程的开发环境搭建与基本配置,总结了软件下载地址、安装方法和开发环境搭建的基本方法,并提供了简单的代码示例。想说的是,Python安装方法与系统、软件版本等诸多因素有关,要想一步到位比较难,遇到问题多种方式可以混合尝试。

2.下载安装软件包

Python机器视觉编程环境的常用配置如下:

Python:Pyhton2.7或Python3.x

pip:python的一个包管理器,安装后可方便的引入第三方库

NumPy:该模块用于python计算机视觉编程时的向量、矩阵的表示与操作

SciPy:更高级的数学计算模块

Matplotlib:结果可视化模块

PIL:Python的图像处理类库,提供通用的图像处理功能及大量基本图像操作

LIBSVM:用于机器学习的开源库

OpenCV:流行的开源机器视觉算法库,提供越来越多的Python接口,目前支持到Python2.7

2.1 Python

版本选择:
选择Python2还是Pyhton3这是一个问题,我们需要知道的:

Python2:用的人多,坑少,大多数第三方库目前都支持。

Python3:重大改进,发展趋势。但有些第三方库目前还支持不到3.x。

Python3与Python2有很多语法差异,并且不兼容2.x版本。

对初学者,可以先学Pyhton2.7,等第三方库支持较好了再学习Python3,也会比较快入手。

安装并添加环境变量:
下载与操作系统对应的版本,运行安装,这里选择默认安装路径C:Python27。

然后添加Python的安装路径到系统环境变量PATH中:计算机->右键->属性->高级系统设置,系统环境变量后加“;”号,然后添加python2.7的路径,确定。

这样,命令行即可直接运行Pyhton,并查看版本信息

2.2 安装pip
pip是python中的一个包管理器,就是在电脑中自动安装、配制、卸载和升级软件包的工具组合。pip可以代替之前的easy_install,可方便的引入第三方库。

目前最新版本为PIP-8.1.2。

安装并添加系统环境变量:
下载对pip-8.1.2.tar.gz压缩包,打开cmd,进入相应解压目录使用命令行安装。

例如,下载的是PIP-8.1.2.tar.gz压缩包,解压后得到pip-8.1.2文件夹。将该拷贝到Python安装目录C:Python27下(不拷贝到这个文件夹也可以),打开cmd进入pip-8.1.2目录下运行:
python setup.py install
 

然后再次编辑系统环境变量,将C:Python27Scripts也添加到Path,这样可以方便的运行pip

有了pip可以在命令行使用 pip install xxx 的方法方便的安装所需的第三方库,例如下面的NumPy和SciPy等第三方库了。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

车间多台PLC做数据采集,不一定要上SCADA网关。Python装好协议库后,通过以太网直连Modbus TCP、S7、Ethernet/IP,或用串口直连Modbus RTU,把寄存器、DB块、标签统一成点表,定时批量...

关键字: PLC Snap7直读S7数据块 python

在高速PCB设计领域,工程师常面临批量修改元件封装和验证设计规则的重复性工作。以某5G通信模块设计为例,其包含2000余个元件,手动替换封装需40小时,而人工DRC检查遗漏率高达15%。通过Python与Tcl脚本的二次...

关键字: python Cadence Altium

在嵌入式硬件开发中,测试环节常占据项目周期40%以上时间。本文介绍如何利用Python构建高效自动化测试框架,通过脚本驱动实现批量测试、数据采集和结果分析,将测试效率提升3-5倍,同时降低人为操作误差。

关键字: 嵌入式硬件 测试自动化 python

视频Transformer模型在视频理解、动作识别等任务中展现出强大性能,然而其高计算复杂度和内存消耗限制了实际应用。为解决这一问题,本文从算法和硬件层面出发,探讨视频Transformer模型的稀疏化加速方法,包括算法...

关键字: Transformer模型 python

在FPGA工具的软件世界中,用于在FPGA上开发设计的ide似乎每年都在加速,我在这里使用“加速”是一个双关语。这就意味着不缺少安装技巧和技巧。所以我在这里再次使用AMD FPGA工具版本2024.2,因为我在这个安装过...

关键字: FPGA Linux python

在本教程中,我们将指导您使用BleuIO USB BLE加密狗创建一个BLE实时macOS菜单栏应用程序。BleuIO是一个非常通用的工具,它简化了BLE(低功耗蓝牙)应用程序的开发,使其成为希望轻松构建创新项目的开发人...

关键字: BleuIO 低功耗蓝牙 python

在当今快速发展的硬件设计领域,自动生成Verilog代码已成为提高设计效率和准确性的重要手段。Verilog作为一种广泛应用的硬件描述语言(HDL),其代码自动生成技术可以大大缩短产品开发周期,降低设计成本。本文将介绍几...

关键字: Verilog FPGA python

在Linux系统编程中,经常需要在程序中执行外部命令并获取其执行结果。无论是基于C/C++、Python、Bash脚本还是其他编程语言,都提供了相应的方法来实现这一功能。本文将以C/C++和Python为例,详细介绍如何...

关键字: Linux系统 外部命令 python

Pipenv是一款旨在将所有包管理工具的优点集中利用于python领域中的工具,兼容性高,使用Pipenv可以自动创建项目和管理虚拟环境,且安装或删除包时会自动在Pipfile中添加和移除相应的包。

关键字: python 管理工具 虚拟环境

随着大数据的兴起,Python 和机器学习迅速成为时代的宠儿。本书在内容编排上避免了枯燥的理论知识讲解,依循“理论简述——实际数据集——Python 程序实现算法”分析数据的思路。

关键字: python 机器学习 数据集
关闭