在python3.5中使用OpenCV的实例讲解

最近在OpenCV的官方文档上看到一个人脸识别的示例代码,想要实现。由于我之前下好的OpenCV3.1中并不自带相关的函数,即opencv2/contrib/contrib.hpp这个文件找不到。需要下载一个contrib的扩展包,然后再用cmake进行编译,最终才能使用。

于是,就去官网上下了一个OpenCV2.4.13,重新配置,也是搞了好久,最后才能使代码顺利运行,虽然最后还是出了一个不知道如何解决的bug。

为什么非要在vs2015上用C++写关于OpenCV的东西呢?于是我想到python,正所谓人生苦短,我用Python。至于在python中使用OpenCV,目前我知道的途径有两个,一个是在opencv文件夹里面的python文件夹里面的某个文件(就是最底下的那个cv2.pyd文件)拷贝到python文件夹里面的某个地方(根据自己安装python的位置)。

一向喜欢方便的我,看到这个就很烦,再说,OpenCV3.1里面貌似只支持2.7的python,于是就找到了第二个方法。即用pip去安装。

于是按照网上的博客,需要在这个网站Python Extension Packages里面下相关的whl文件(顺便强势安利一下这个神奇的网站):

由于我的电脑是64位的,我之前安装过python3.5,所以我就选择了opencv_python-3.2.0+contrib-cp35-cp35m-win_amd64.whl这个文件,(因为OpenCV3.0以上的版本有些函数需要融入contrib这个扩展包才行,所以要下带有contrib的这个whl文件)。

下好后,我就开始在cmd中安装了,这样:

pip install opencv_python-3.2.0+contrib-cp35-cp35m-win_amd64.whl

但是安装不了,很是纳闷,后来又去下了个32位的opencv_python-3.2.0+contrib-cp35-cp35m-win32.whl,最后终于装好了。我猜测可能我当初下的python是32位的,并不和系统的位数相关吧~

需要注意的是,在安装这个cv2之前,要保证已经装好了numpy,由于我的python里面之前装过,所以这边就省略这个步骤了。下面就开始起飞了!在sublime里面编辑如下:

import cv2
img = cv2.imread('Building.bmp',0)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

最后终于成功显示图像了

以上这篇在python3.5中使用OpenCV的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文章:

  • Python实现OpenCV的安装与使用示例
  • Python-OpenCV基本操作方法详解
  • python使用opencv读取图片的实例
  • Python环境搭建之OpenCV的步骤方法
(0)

相关推荐

  • Python实现OpenCV的安装与使用示例

    本文实例讲述了Python实现OpenCV的安装与使用.分享给大家供大家参考,具体如下: 由于下一步要开始研究下深度学习,而深度学习领域很多的算法和应用都是用Python来实现的,把Python转成C++代码耗时太多,不如直接学习下Python直接医用Python的代码.搭建Python环境的过程是很耗时的,但是现在回头来看又觉得其实没有多少步骤,主要是在自己不明白的时候老是会出现各种各样奇奇怪怪的问题.现在只是对正确的步骤做个记录吧. 环境搭建: 1.Python的安装,没什么可说的,一直下一

  • Python环境搭建之OpenCV的步骤方法

    一.openCV介绍 Open Source Computer Vision Library.OpenCV于1999年由Intel建立,如今由Willow Garage提供支持.OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.MacOS操作系统上.它轻量级而且高效--由一系列 C 函数和少量C++类构成,同时提供了Python.Ruby.MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法.最新版本是3.1 ,2016年1

  • Python-OpenCV基本操作方法详解

    基本属性 cv2.imread(文件名,属性) 读入图像 属性:指定图像用哪种方式读取文件 cv2.IMREAD_COLOR:读入彩色图像,默认参数,Opencv 读取彩色图像为BGR模式 !!!注意 cv2.IMREAD_GRAYSCALE:读入灰度图像. cv2.imshow(窗口名,图像文件) 显示图像 可以创建多个窗口 cv2.waitKey() 键盘绑定函数 函数等待特定的几毫秒,看是否由键盘输入. cv2.namedWindow(窗口名,属性) 创建一个窗口 属性:指定窗口大小模式

  • python使用opencv读取图片的实例

    安装好环境后,开始了第一个Hello word 例子,如何读取图片,保存图品 import cv2 import numpy as np import matplotlib.pyplot as plt #读取图片代码 img = cv2.imread('test.jpg',cv2.IMREAD_GRAYSCALE) #IMREAD_COLOR = 1 #IMREAD_UNCHANGED = -1 #展示图片 cv2.imshow('image',img) cv2.waitKey(0) cv2.d

  • 在python3.5中使用OpenCV的实例讲解

    最近在OpenCV的官方文档上看到一个人脸识别的示例代码,想要实现.由于我之前下好的OpenCV3.1中并不自带相关的函数,即opencv2/contrib/contrib.hpp这个文件找不到.需要下载一个contrib的扩展包,然后再用cmake进行编译,最终才能使用. 于是,就去官网上下了一个OpenCV2.4.13,重新配置,也是搞了好久,最后才能使代码顺利运行,虽然最后还是出了一个不知道如何解决的bug. 为什么非要在vs2015上用C++写关于OpenCV的东西呢?于是我想到pyth

  • python3爬虫中引用Queue的实例讲解

    我们去一个受欢迎的地方买东西,难免会需要排队等待.如果有多个窗口的话,就会有不同队列的产生,当然每个队伍的人数也会出现参差不齐的现象.我们今天所要说的Queue就可以理解成生活中的排队现象.那么结合我们所要用的爬虫知识,应该怎么在Queue中应用呢?接下来就开始今天的内容学习: 队列这种东西大家应该都知道,就是一个先进先出的数据结构,而Python的标准库中提供了一个线程安全的队列,也就是说该模块是适用于多线程编程的先进先出(first-in,first-out,FIFO)数据结构,可以用来在生

  • Python3.7中安装openCV库的方法

    1.首先自己直接在cmd中输入 pip3 install openCV是不可行的,即需要自己下载安装包本地安装 2.openCV库 下载地址http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv 3.opencv_python‑3.4.2‑cp37‑cp37m‑win_amd64.whl(cp37指的是python的版本,win_amd64是指python是64位的,也有可能有人64位的系统装了32位的python,这时候就需要装win32的版本) 4

  • 基于Python3.6中的OpenCV实现图片色彩空间的转换

    不同的色彩空间中对图片的色彩体现有很大不同 #色彩空间的相互转换:最常见的是HSV与RGB,YUV与RGB的相互转换 #常见色彩空间有: #RGB:最常用 #HSV:对指定色彩铭感,用于查找表达特定颜色 #HIS: #YCrCb:在人体肤色识别运用较多 #YUV:Android开发中运用较多 以下是对图片进行所有色彩空间的演示: import cv2 as cv ###导入openc包 def color_space_demo(image): gray = cv.cvtColor(image,c

  • python3 os进行嵌套操作的实例讲解

    在生活之中,我们想要去一个很远的地方,可能先走到坐车的地方,再从乘车去目的地.那么,我们是不是可以理解成函数嵌套也是这样,需要不同函数的组合才能最终实现某种运行的结果.在python3 os中同样有这样的嵌套操作存在,小伙伴跟小编一起看看和以前的学习有何不同. 如果想批量一个嵌套的文件,即在一个新建的文件里面,在建文件夹. os.makedirs() import os try: name = "python3" count = 1 for i in range(3): os.make

  • js中变量的连续赋值(实例讲解)

    今天遇到了一个连续赋值的经典案例,网友们给出的答案也是五花八门,看起来有些繁琐,我也来说说自己的看法. 下面就是这个经典案例: var a = {n: 1}: var b = a; a.x = a = {n: 2}: console.log(a); console.log(b); console.log(a.x); console.log(b.x): 我们先来看一下普通连续赋值,即:变量赋值的类型是数据类型值 var a=3; var b=a=5; console.log(a); console

  • 基于多线程中join()的用法实例讲解

    Thread中,join()方法的作用是调用线程等待该线程完成后,才能继续用下运行. public class TestThread5 { public static void main(String[] args) throws InterruptedException { Runner0 run5 = new Runner0(); Thread th5 = new Thread(run5); th5.start(); th5.join();//join()方法用在此处是为了等待主线程结束后运

  • 自己模拟写C++中的String类型实例讲解

    下面是模拟实现字符串的相关功能,它包括一下功能: String(const char * s);//利用字符串来初始化对象 String(); //默认构造函数 String(const String & s);//复制构造函数,利用String类型来初始化对象 ~String(); //析构函数 int length(); //返回String类型中字符串的长度 String & operator=(const String & s);//重载=运算符. String &

  • 基于spring中的aop简单实例讲解

    aop,即面向切面编程,面向切面编程的目标就是分离关注点,比如:一个骑士只需要关注守护安全,或者远征,而骑士辉煌一生的事迹由谁来记录和歌颂呢,当然不会是自己了,这个完全可以由诗人去歌颂,比如当骑士出征的时候诗人可以去欢送,当骑士英勇牺牲的时候,诗人可以写诗歌颂骑士的一生.那么骑士只需要关注怎么打仗就好了.而诗人也只需要关注写诗歌颂和欢送就好了,那么这样就把功能分离了.所以可以把诗人当成一个切面,当骑士出征的前后诗人分别负责欢送和写诗歌颂(记录).而且,这个切面可以对多个骑士或者明人使用,并不只局

  • jQuery获取table表中的td标签(实例讲解)

    首先我来介绍一下我遇到的问题 1.当有一个table表包含了<tr>标签,<td>标签,大致可以认为是这样的: <tr> <td> @scene.ID </td> <td> @scene.SceneName </td> <td> @scene.QRUrl </td> <td> @scene.LocalUrl </td> <td> <!--如果有图片,展示图片

随机推荐