一、openCV简介

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

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

二、Ubuntu16.04下的安装

直接使用pip安装

pip3 install opencv-python

或者使用国内镜像安装

pip3 install opencv-python -i  https://pypi.douban.com/simple

三、测试脚本

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

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

四、opencv for Python3 使用笔记

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

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

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

(二)

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. Link标签

    Link标签的属性:rel定义当前文档与目标文档之间的关系. rev定义目标文档与当前文档之间的关系. Link和@import的区别:   1.隶属上的差别      link是一个html的一个标 ...

  2. Jmeter(一) - 调用数据的参数化

    1. 做性能测试, 不可避免的一点一定会有使用不同的用户密码进行登陆. 如何使登陆用户参数化呢?

  3. OPCDAAuto的一个坑

    最近项目需要对SCADA系统的下位机采集实时数据,常见做法是两种,一种采用ModBus RTU/TCP协议直接通过支持ModBus的下位机通信,一种是通过OPC规范,使用厂商提供的OPC Server ...

  4. ControlTemplate in WPF —— ListBox

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...

  5. zk 文件存储

    zk 有 2 种文件,快照和事务日志,快照是某一时刻的全量数据,事务日志中记录了数据的修改事件. 快照的文件名是 snapshot.zxid,zxid 是当前最大的事务 id // org.apach ...

  6. 阶段3 2.Spring_07.银行转账案例_7 代理的分析

    新建项目 实现动态代理. 动态代理的概念 买电脑找代理商 代理的出现 解决了生产厂家的一些问题 需要java中的动态代理机制

  7. 十七:jinja2之宏

    宏有点类似于函数,接收一些数据,进行处理,但是没有返回值,可以将一些常用的代码片段放到宏中,然后把不固定的值抽出来做变量 使用maacro来定义宏,使用宏的时候,参数可以设默认值 自定义一个input ...

  8. 报错:Original error: Could not proxy command to remote server. Original error: Error: read ECONNRESET

    问题:Appium的android真机启动手机时,会遇到以下问题: An unknown server-side error occurred while processing the command ...

  9. PHP 异步执行方式

    在工作中我们经常遇到一些比较耗时的任务,比如用户注册发送邮件,审核短信通知等功能,同步执行这些功能的话,响应时间就会变长,所以一般我们会用队列去管理这些功能,但是如果条件不允许怎么办,今天get了一个 ...

  10. [Vuejs] 给ref赋值需要注意的问题

    1.简单赋值 <div ref="refCon"></div> 访问方式: this.$refs.refCon 2.循环赋值,相同名称 <div v- ...