python中配置opencv_在Windows中安装OpenCV-Python|四

目标

在本教程中,我们将学习在你的Windows系统中设置OpenCV-Python。

下面的步骤在装有Visual Studio 2010和Visual Studio 2012的Windows 7-64位计算机上进行了测试。屏幕截图展示的是VS2012。

从预编译的二进制文件安装OpenCV

下面的Python软件包将被下载并安装到其默认位置。 Python的3.X(3.4+)或Python 2.7.x从这里下载:https://www.python.org/downloads/。 Numpy包(例如使用pip install numpy命令下载)。 Matplotlib( pip install matplotlib)(Matplotlib是可选的,但推荐它,因为我们使用了很多在我们的教程)。将所有软件包安装到其默认位置。C:/Python27/如果使用Python 2.7,将安装Python。安装后,打开Python IDLE。输入import numpy并确保Numpy运行正常。从GitHub:https://github.com/opencv/opencv/releases 或SourceForge网站:https://sourceforge.net/projects/opencvlibrary/files/ 下载最新的OpenCV版本,然后双击将其解压缩。转到opencv/build/python/2.7文件夹。将cv2.pyd复制到C:/Python27/lib/site-packages。打开Python IDLE,然后在Python终端中键入以下代码。>>> import cv2 as cv>>> print( cv.__version__ )如果打印出来的结果没有任何错误,那就恭喜!你已经成功安装了OpenCV-Python。

从源代码构建OpenCV

下载并安装Visual Studio和CMake。 Visual Studio 2012:http://go.microsoft.com/?linkid=9816768 CMake:https://cmake.org/download/将必要的Python软件包下载并安装到其默认位置 Python Numpy注意在这种情况下,我们使用的是32位Python软件包二进制文件。但是,如果要将OpenCV用于x64,则将安装Python软件包的64位二进制文件。问题在于,没有Numpy的官方64位二进制文件。你必须自行构建。为此,你必须使用与构建Python相同的编译器。启动Python IDLE时,它会显示编译器详细信息。你可以在此处:http://stackoverflow.com/q/2676763/1134940 获得更多信息。因此,你的系统必须具有相同的Visual Studio版本并从源代码构建Numpy。

拥有64位Python软件包的另一种方法是使用来自第三方(如Anaconda:http://www.continuum.io/downloads、 Enthought:https://www.enthought.com/downloads/)等现成Python发行版。它的大小会更大,但可以满足你的所有需求。一切都在一个外壳中。你也可以下载32位版本。

确保Python和Numpy正常运行。下载OpenCV源代码。它可以来自Sourceforge:http://sourceforge.net/projects/opencvlibrary/(官方发行版)或来自Github:https://github.com/opencv/opencv (最新源)。将其解压缩到一个文件夹中,在opencv中创建一个新的文件夹。打开CMake-gui(Start>All Programs> CMake-gui)如下填写字段(请参见下图):a. 单击Browse Source然后找到opencv文件夹。

b. 单击Browse Build然后找到我们创建的构建文件夹。

c. 点击Configure。

7acb0a46f21fbe09329a2d462232c4368644ad70.jpeg?token=a63c769da3bf2423884c88d5c94f9736&s=4550CD3A1F0A55494EFD6DDB010050B2

d. 它将打开一个新窗口以选择编译器。选择适当的编译器(此处为Visual Studio 11),然后单击Finish。

d62a6059252dd42ae57046d7486993b0c9eab82d.jpeg?token=60ddde9b12716152d51450d8d8132a8c&s=C918EC1B9F884C430A51E1DB0000C0B3

e. 等待分析完成。

你将看到所有字段都标记为红色。单击WITH字段将其展开。它决定了你需要哪些额外的功能。因此,请标记适当的字段。见下图:

a2cc7cd98d1001e96c3334dbf15cb3e955e797aa.jpeg?token=1bf25c6bdb32830f6417b0b9c9e1f7ef&s=CC82E51B13A7D0EE4C7444DA0100C0B3

现在,单击BUILD字段以将其展开。前几个字段配置构建方法。见下图:

eac4b74543a982263b28e4dec3d071044b90eb33.jpeg?token=0d0bae047e0c8eea2e34c35401d28845&s=E802E41B514EE6EE4EDCC5D30300D0B3

其余字段指定要构建的模块。由于OpenCV-Python尚不支持GPU模块,因此可以完全避免使用它以节省时间(但是如果使用它们,则将其保留在此处)。见下图:

d009b3de9c82d158b6157150c958d1ddbd3e4217.jpeg?token=8bcd50d8bcb53888324f32e276d6040a&s=E412749A1D0C5CCA5465A0DE030090B3

现在单击 ENABLE字段将其展开。确保未选中ENABLESOLUTIONFOLDERS(Visual Studio Express版本不支持解决方案文件夹)。见下图:

902397dda144ad34742c82f198f0c4f130ad8588.jpeg?token=938c2e57b157448f5b88d59a89f27d8c&s=EC22B61A99D84DC8106784D6030080B3

还要确保在PYTHON字段中,所有内容都已填充。(忽略PYTHONDEBUGLIBRARY)。见下图:

738b4710b912c8fcf51cb924ad515a40d48821c7.jpeg?token=dba2986837c7039feb453211234a99b5&s=C502F41BDD607C1312C104CB010080B1

最后,单击Generate按钮。现在转到我们的opencv / build文件夹。在那里你将找到OpenCV.sln文件。用Visual Studio打开它。将构建模式检查为Release而不是Debug。在解决方案资源管理器中,右键单击Solution(或ALL_BUILD)并进行构建。需要一些时间才能完成。再次,右键单击INSTALL并进行构建。现在将安装OpenCV-Python。

0b55b319ebc4b745a138884986aed6128b82159c.jpeg?token=aef31fb0369ecca329b258a49badd5d0&s=C800E41A090EDCCA06582CD9030050B3

打开Python IDLE,然后输入import cv2 as cv。如果没有错误,则说明已正确安装。注意我们没有安装其他支持如TBB、Eigen、Qt、Documentation等。在这里很难解释清楚。我们将添加更详细的视频,或者你可以随意修改。

练习题

如果你有Windows计算机,请从源代码编译OpenCV。做各种各样极客。如果遇到任何问题,请访问OpenCV论坛并描述你的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431664.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uip UDPclient模式通信移植,当地port随机

现在移植UDPclient模式,测试广播地址. //udp_client.c /************************************************************************************************************** 文件名称: udp_client.c* 功能: uIP UDP客户端相关函数* 作者: cp1300139.com* 创建时间: 20…

react如何遍历并比较_[前端进阶] 这可能是最通俗易懂的React 渲染原理及性能优化...

如今的前端,框架横行,出去面试问到框架是常有的事。我比较常用React, 这里就写了一篇 React 基础原理的内容, 面试基本上也就问这些, 分享给大家。React 是什么React是一个专注于构建用户界面的 Javascript Library.一…

基于git的工作流程

本文针对的是追求极致、快速的产品响应团队的。以下的观点和内容都是围绕这个主题,暂时不涉及个人学习和团队学习。 在说工作流程之间,想说一下我们平常工作中遇到的一些困惑或者说现象 在一个团队里,同时有好多事件要解决。有的是产品迭代&a…

c 自定义实现string类 clear_CC++语言15|类的继承和派生实现代码重用、扩充

在C中,继承是一个对象自动获取其父对象的所有属性和行为的过程。通过继承,您可以重用,扩展或修改在其他类中定义的属性和行为。通过继承,可以实现函数重写以及多态。在C中,继承另一个类的成员的类称为派生类&#xff0…

超几何分布_常见概率分布

离散分布退化分布 若r.v. 只取常数值c,即 ,这时分布函数为: 把这种分布称为退化分布或者单点分布。伯努利分布 在一次实验中,事件A出现的概率为 ,不出现的概率为 ,若用 记事件A出现的次数,则 仅取值0或1,相应的…

struts学习

Structs2配置文件概述&#xff1a; <constant name"" value""></constant>详解&#xff1a;&#xff08;两个看不见的value都是设置true/false&#xff09; package的相关使用&#xff1a; &#xff08;name是包名。action相当于以前的servl…

里怎么做页眉页脚_这年头县城里在家做的电商利润怎么样

这年头县城里在家做的电商利润怎么样 mcfg6ek这年头县城里在家做的电商利润怎么样 通过上面的信息大家是否已经对多用户商城有什么优势有所了解了呢&#xff0c;如果还想了解更多多用户商城的信息&#xff0c;站进行查看咨询哦。店系统怎么进行推广。店系统的推广方式介绍我们都…

计算机如果算积分排名,超级电脑预测英超积分榜:蓝军守住第4 曼联无缘欧冠...

还有6天的时间&#xff0c;2019-20赛季的英超联赛就要重启了。虽然冠军的悬念已经不大&#xff0c;但欧冠席位以及降级名额仍有很大的变数&#xff0c;这让外界仍无比期待接下来的比赛。今日&#xff0c;超级计算机对剩余的比赛做了预测&#xff0c;并算出了最终的积分榜&#…

环形队列出队的元素怎么输出出来_队列:队列在线程池等有限资源池中的应用...

我们知道&#xff0c;CPU资源是有限的&#xff0c;任务的处理速度与线程个数并不是线性正相关的。相反&#xff0c;过多的线程反而会导致CPU频繁切换&#xff0c;处理性能下降。所以&#xff0c;线程池的大小一般都是综合考虑要处理任务的特点和硬件环境&#xff0c;来事先设置…

英语答题测试的软件叫什么,英语做题软件哪个好 有答案解析的英语做题软件分享...

对于一些即将参与重要英语考试的考生来说&#xff0c;每天刷题练习肯定是不可避免的事情&#xff0c;但如果你想要更高效的刷题&#xff0c;让自己的刷题时间更有价值&#xff0c;那就来看看推荐给你的这些英语做题软件。类型&#xff1a;学习 语言&#xff1a;简体中文星级&am…

raid卡组不同raid_RAID磁盘阵列是如何运作的?

本文编辑&#xff1a;意哥专业指导&#xff1a;葵芳一凡 RAID是英文Redundant Array of Independent Disks的缩写&#xff0c;中文简称为独立冗余磁盘阵列。简单的说&#xff0c;RAID是一种把多块独立的硬盘&#xff08;物理硬盘&#xff09;按不同的方式组合起来形成一个硬盘组…

java 析构函数_C++虚函数

码字不易&#xff0c;欢迎给个赞&#xff01;C虚函数是多态性实现的重要方式&#xff0c;当某个虚函数通过指针或者引用调用时&#xff0c;编译器产生的代码直到运行时才能确定到底调用哪个版本的函数。被调用的函数是与绑定到指针或者引用上的对象的动态类型相匹配的那个。因此…

象过河软件试用版_比肩许银川蒋川王天一,象棋软件下出神一样的残局,看完叹为观止...

古语有云&#xff0c;残局&#xff0c;是一盘棋的命脉所在。这对于现代象棋而言&#xff0c;也是如此&#xff0c;君不见&#xff0c;许银川有着鬼魅残功&#xff0c;蒋川有着魔衣血刀&#xff0c;王天一有着天外飞仙&#xff0c;都是一等一的残棋神器。而被誉为棋界战斗力最为…

python爬取小说出现乱码_详解Python解决抓取内容乱码问题(decode和encode解码)

一、乱码问题描述 经常在爬虫或者一些操作的时候&#xff0c;经常会出现中文乱码等问题&#xff0c;如下原因是源网页编码和爬取下来后的编码格式不一致 二、利用encode与decode解决乱码问题 字符串在Python内部的表示是unicode编码&#xff0c;在做编码转换时&#xff0c;通常…

北方股份无人驾驶矿卡_踏歌智行完成B轮2亿元融资,无人驾驶矿山赛道爆发在即...

作者 / 李笠10 月 30 日&#xff0c;矿山无人驾驶运输的领军企业踏歌智行完成了 2 亿元 B 轮融资。这是无人驾驶矿山赛道迄今为止最大的一笔融资。据悉&#xff0c;本轮融资由前海母基金和宝通投资共同领投&#xff0c;清研资本、蓝焱资本等跟投。这也是踏歌智行继 2019 年连续…

计算机视觉子方向,计算机视觉方向简介 | 人脸识别中的活体检测算法综述

原标题&#xff1a;计算机视觉方向简介 | 人脸识别中的活体检测算法综述本文转载自“SIGAI人工智能学习与实践平台”(ID&#xff1a;SIGAICN)导言1. 什么是活体检测&#xff1f;判断捕捉到的人脸是真实人脸&#xff0c;还是伪造的人脸攻击(如&#xff1a;彩色纸张打印人脸图&am…

黑客们的故事(连载三) 因为好奇

上期说到的肯和丹尼斯在黑客文化中的高知名度&#xff0c;不仅是因为他们开发出的操作系统和编程语言&#xff0c;更在于他们行为所体现出的价值观&#xff1a;求知、探索&#xff0c;以及追求极致。这些是黑客精神的精髓——虽然黑客们贯彻这些精神时的方式并不总是合理合法的…

css3禅密花园叫什么名字_新生儿起名:2021元旦出生男孩叫什么名字

2021年元旦节又是新的一年开始&#xff0c;在这辞旧迎新的日子里出生的男孩&#xff0c;都带有极好的寓意兆头&#xff0c;父母们如果能顺借此时机&#xff0c;取一个具有出生纪念意义的名字&#xff0c;那必然能让男孩的成长有着不同与众的历程。2021元旦出生男孩叫什么名字比…

10个让人很舒服的沟通技巧

转载于:https://www.cnblogs.com/yymn/p/4605237.html

idea将远程代码更新合并到本地_idea 本地调试远程服务器代码

基本原理本机和远程主机的两个 VM 之间使用 Debug 协议通过 Socket 通信&#xff0c;传递调试指令和调试信息。 被调试程序的远程虚拟机&#xff1a;作为 Debug 服务端&#xff0c;监听 Debug 调试指令。jdwp是Java Debug Wire Protocol的缩写。 调试程序的本地虚拟机&#xff…