一、openCV简介

OpenCV是一个开源的跨平台计算机视觉库。它轻量级而且高效——由一系列 C 函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

  简言之,通过openCV可实现计算机图像、视频的编辑。广泛应用于图像识别、运动跟踪、机器视觉等领域。

二、Ubuntu16.04下的安装

直接使用pip安装

  1. pip3 install opencv-python
  2.  
  3. 或者使用国内镜像安装
  4.  
  5. pip3 install opencv-python -i https://pypi.douban.com/simple

三、测试脚本

  1. # File: testopencv.py
  2. # Author: ranxf
  3. # Created on 2019.08.22 02:00 (first release)
  4. # Copyright (C) 2019 XinZhouRuiShi. All rights reserved.
  5. # please use python3.x
  6. # -*- coding: UTF-8 -*-
  7.  
  8. import cv2 # 导入模块,opencv的Python模块叫cv2
  9.  
  10. img = cv2.imread('Aaron_Peirsol_0001.jpg') # 读取当前目录下的图像Aaron_Peirsol_0001.jpg
  11. cv2.namedWindow("Face image") # 创建窗口并显示图像类型
  12. cv2.imshow("Face image", img)
  13. cv2.waitKey(0) # 等待事件触发,参数0表示永久等待
  14. cv2.destroyAllWindows() # 释放窗口

若没有提示no module错误,则表示安装成功

四、opencv for Python3 使用笔记

(一)图像简单的读取,显示,存储

  1. # File: opencvDemo1.py
  2. # Author: ranxf
  3. # Created on 2019.02.22 02:00 (first release)
  4. # Copyright (C) 2019 XinZhouRuiShi. All rights reserved.
  5. # please use python3.x
  6. # -*- coding: UTF-8 -*-
  7.  
  8. """
  9. openCV学习使用,图片简单的读取,显示,存储
  10. """
  11.  
  12. import cv2
  13. # from matplotlib import pyplot as plt
  14. import matplotlib.pyplot as plt
  15.  
  16. # 图片的读取
  17. face1 = cv2.imread('Aaron_Peirsol_0001.jpg', 0) # 读取灰度图像
  18.  
  19. # 图像的显示方法一
  20. # cv2.imshow("Face image", face1)
  21. # cv2.waitKey()
  22. # cv2.destroyAllWindows()
  23.  
  24. # 图像的显示方法二
  25. plt.imshow(face1, 'gray') # 注意该行参数与cv2.imshow()中参数的不同之处,后面参数必须对顶显示的是什么图像
  26. plt.xlabel([]),plt.ylabel([]) # 隐藏坐标线
  27. plt.show()
  28.  
  29. """
  30. 代码解析:
  31. 1、图像的读取:
  32. cv2.imread(‘图像名称’,’可选参数’)
  33. 可选参数决定读入图像的模式:
  34. 0:读入的为灰度图像(即使图像为彩色的)
  35. 1:读入的图像为彩色的(默认);
  36. 注意的是:即使图像在工作空间不存在,这个函数也不会报错,只不过读入的结果为none。
  37.  
  38. 2、图像的显示方法一
  39. opencv自带函数显示,一般显示一个图像;
  40. cv2.imshow("Face image", face1)第一个参数是名字,第二个时要显示的图;
  41. 要图像停留,结合下面两句一起使用
  42. cv2.waitKey(0)
  43. cv2.destroyAllWindows()
  44.  
  45. 3、图像显示方法二
  46. opencv自带函数不能调整图像大小和保存图像,要想保存和调整大小,可以使用第三方库matplotlib库包中pyplot子包显示;
      Matplotlib 是 Python 的绘图库。
  47. 首先要导入pyplot:
  48. from matplotlib import pyplot as plt
  49. 也可以这样导入:import matplotlib.pyplot as plt (我常用这种)
    4、在Linux中安装matplotlib
      apt install python3-matplotlib
  50. """

运行结果:(可以看出有保存按钮和窗口大小调整按钮)

(二)

openCV for python的使用的更多相关文章

  1. (原)windows8.1上使用opencv for python

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6204100.html 参考网址: http://www.docs.opencv.org/master/ ...

  2. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  3. Ubuntu16.04安装opencv for python/c++

    Ubuntu16.04安装opencv for python/c++ 网上关于opencv的安装已经有了不少资料,但是没有一篇资料能让我一次性安装成功,因此花费了大量时间去解决各种意外,希望这篇能给一 ...

  4. [PyImageSearch] Ubuntu16.04 使用OpenCV和python识别信用卡 OCR

    在今天的博文中,我将演示如何使用模板匹配作为OCR的一种形式来帮助我们创建一个自动识别信用卡并从图像中提取相关信用卡数位的解决方案. 今天的博文分为三部分. 在第一部分中,我们将讨论OCR-A字体,这 ...

  5. 深度学习 + OpenCV,Python实现实时视频目标检测

    使用 OpenCV 和 Python 对实时视频流进行深度学习目标检测是非常简单的,我们只需要组合一些合适的代码,接入实时视频,随后加入原有的目标检测功能. 在本文中我们将学习如何扩展原有的目标检测项 ...

  6. day1 Opencv安装 python 2.7 (32位)

    [参考安装步骤] http://opencv-python-tutroals.readthedocs.io/en/latest/index.html http://blog.csdn.net/huru ...

  7. OpenCV for Python 学习笔记 一

    本人的学习笔记主要记录的是学习opencv-python-tutorials这本书中的笔记 今天晚上简单学习OpenCV for Python如何绘图,主要用了这几个函数(这几个函数可在:http:/ ...

  8. CentOS7配置opencv for python && eclipse c/c++[更新]

    更改前的安装过程有些问题,主要是ffmpeg-devel的安装部分,这里重新说一下 两种安装方法: 第一种,直接: # yum install numpy opencv* 这种方法安装了之后,能够在p ...

  9. OpenCV的Python接口

    Python教程系列:http://blog.csdn.net/sunny2038/article/details/9057415 与C++的不同之处:http://developer.51cto.c ...

  10. OpenCv的python环境搭建

    1.python的安装参看 http://www.cnblogs.com/samo/p/6734403.html 2.OpenCv安装.opencv2.4.10可以支持vc10/vc11/vc12,o ...

随机推荐

  1. leetcode 230二叉搜索树中第k小的元素

    通过stack进行中序遍历迭代,timeO(k),spaceO(1) /** * Definition for a binary tree node. * struct TreeNode { * in ...

  2. [mysql]root用户登录mysql,输入密码后报错:Access denied for user 'root'@'localhost'

    问题如下: wangju-G4:~$ mysql -u root -p Enter password: ERROR (): Access denied for user 'root'@'localho ...

  3. 437路径总和III

    题目: 给定一个二叉树,它的每个结点都存放着一个整数值.找出路径和等于给定数值的路径总数.路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点).来源: ht ...

  4. Responsive web design 学习笔记

    Advanced Styling with Responsive Design 此笔记为Coursera同名课程笔记. Week1 什么是响应式设计? 响应式设计: It is designing y ...

  5. Maven 安装 / 常用配置 / 阿里maven中央仓库

    Maven 官方下载地址: http://maven.apache.org/download.cgi 可以选择清华的镜像: 解压在settings.xml里面配置阿里中央仓库: <mirror& ...

  6. pcap中不同包功能

    1.不同包协议的功能 EAPoL:基于局域网的扩展认证协议 ICMPv6:(一般是四个连在一起)互联网控制协议第六套 DHCP Discover:请求分配IP DHCP Offer:你的IP是***, ...

  7. 关于mysql8.0及以上版本连接navicat时候报错(密码加密方式需要修改)

    首先这个原因是因为MySQL版本的密码加密方式变了,要把它修改成以前的方式(因为,navicat不支持这种方式) 1:先进入mysql: mysql -uroot -p123456; 2:查询密码加密 ...

  8. Apache编译安装及LAMP架构

    1.apache三种工作模式 1)prefork工作模式 一个进程处理一个用户请求 稳定但是不适合高并发的生产环境 2)worker工作模式 一个进程生成多个线程 合适高并发环境但是需要考虑到线程的安 ...

  9. 应用安全 - 工具 | 平台 -webmin - 漏洞 - 汇总

    简介 开发语言 PHP 用途系统管理 CVE-2019-15642 Date2019.7 类型远程代码执行 影响范围Webmin <= 1.920 复现POC|EXPOBJECT Socket; ...

  10. 【电子电路技术】短波红外InGaAs探测器简析

    核心提示: 红外线是波长介于微波与可见光之间的电磁波,波长在0.75-1000μm之间,其在军事.通讯.探测.医疗等方面有广泛的应用.目前对红外线的分类还没有统一的标准,各个专业根据应用的需要,有着自 ...