openCV for python的使用
一、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的使用的更多相关文章
- (原)windows8.1上使用opencv for python
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6204100.html 参考网址: http://www.docs.opencv.org/master/ ...
- OpenCV之Python学习笔记
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...
- Ubuntu16.04安装opencv for python/c++
Ubuntu16.04安装opencv for python/c++ 网上关于opencv的安装已经有了不少资料,但是没有一篇资料能让我一次性安装成功,因此花费了大量时间去解决各种意外,希望这篇能给一 ...
- [PyImageSearch] Ubuntu16.04 使用OpenCV和python识别信用卡 OCR
在今天的博文中,我将演示如何使用模板匹配作为OCR的一种形式来帮助我们创建一个自动识别信用卡并从图像中提取相关信用卡数位的解决方案. 今天的博文分为三部分. 在第一部分中,我们将讨论OCR-A字体,这 ...
- 深度学习 + OpenCV,Python实现实时视频目标检测
使用 OpenCV 和 Python 对实时视频流进行深度学习目标检测是非常简单的,我们只需要组合一些合适的代码,接入实时视频,随后加入原有的目标检测功能. 在本文中我们将学习如何扩展原有的目标检测项 ...
- day1 Opencv安装 python 2.7 (32位)
[参考安装步骤] http://opencv-python-tutroals.readthedocs.io/en/latest/index.html http://blog.csdn.net/huru ...
- OpenCV for Python 学习笔记 一
本人的学习笔记主要记录的是学习opencv-python-tutorials这本书中的笔记 今天晚上简单学习OpenCV for Python如何绘图,主要用了这几个函数(这几个函数可在:http:/ ...
- CentOS7配置opencv for python && eclipse c/c++[更新]
更改前的安装过程有些问题,主要是ffmpeg-devel的安装部分,这里重新说一下 两种安装方法: 第一种,直接: # yum install numpy opencv* 这种方法安装了之后,能够在p ...
- OpenCV的Python接口
Python教程系列:http://blog.csdn.net/sunny2038/article/details/9057415 与C++的不同之处:http://developer.51cto.c ...
- OpenCv的python环境搭建
1.python的安装参看 http://www.cnblogs.com/samo/p/6734403.html 2.OpenCv安装.opencv2.4.10可以支持vc10/vc11/vc12,o ...
随机推荐
- DatePicker 日期选择器
用于选择或输入日期 选择日 以「日」为基本单位,基础的日期选择控件 基本单位由type属性指定.快捷选项需配置picker-options对象中的shortcuts,禁用日期通过 disabledDa ...
- Web(八) commons-fileupload上传下载
在网上看见一篇不错的文章,写的详细. 以下内容引用那篇博文.转载于<http://www.cnblogs.com/whgk/p/6479405.html>,在此仅供学习参考之用. 一.上传 ...
- swiper 的左右箭头放到轮播外面
<!-- 增加一个father的包裹 --> <div class="swiper-father"> <div class="swiper- ...
- Several ports (8005, 8080, 8009) required by Tomcat v8.5 Server at localhost are already in use.
Several ports (8005, 8080, 8009) required by Tomcat v8.5 Server at localhost are already in use. The ...
- C++类大小的计算
这里记录一下怎么计算类对象的大小. 大概总结下,类的大小需要考虑以下内容: 非静态成员变量大小 数据对齐到多少位 有无虚函数(即需不需要指向虚函数表的指针,如果考虑继承的情况,则还需要看继承了多少个指 ...
- css 命名 有的加# ,有的加点 ,有的没加。请问下都在什么情况下用的?
[nav{}]这样的样式是给特定的标签直接定义样式时使用的,这个样式名称是跟标签是相对应的,比如我要给<p></p>这个标签设置样式,那我就可以直接写:p{样式}就可以,但是这 ...
- Maven从入门到精通(一)
maven是一个项目管理工具,我的后续将会根据这个思维导图给大家由浅到深讲解Maven是如何管理我们的项目,以及我们如何更好的使用Maven maven在开发过程中功能主要有三个方面: 管理依赖 ...
- Linux集群之间配置NTP时间同步ntp
NTP时间同步 注意事项 要注意的是,ntpd 有一个自我保护设置: 如果本机与上源时间相差太大, ntpd 不运行. 所以新设置的时间服务器一定要先 ntpdate 从上源取得时间初值, 然后启动 ...
- 项目附 - 云盘项目-分析echo.c
分析FastCGI源码目录下example中echo.c代码: /* * echo.c -- * * Produce a page containing all FastCGI inputs * * ...
- hdfs的balancer
参考: https://blog.csdn.net/mnasd/article/details/80369603 在CDH中选一个资源多的节点,安装 HDFS->添加角色到实例 启动后状态是灰的 ...