opencv显示图像:

  # -*- coding: UTF-8 -*-
import numpy as np
import cv2
from matplotlib import pyplot as plt img=cv2.imread("cat.png",5) #载入
cv2.imshow('image',img) #显示
k=cv2.waitKey(0)&0xFF #读取键盘输入,参数为在x毫秒内读取,x=0是无限等待读取
while(k!=27 and k!=ord('s')):
k=cv2.waitKey(0)&0xFF
if k==27:
cv2.destroyAllWindows()
elif k==ord('s'):
cv2.imwrite('mess.png',img)
cv2.destroyAllWindows() #关闭窗口,参数可以为窗口名

opencv载入图像,matplotlib显示:

  # -*- coding: UTF-8 -*-
import numpy as np
import cv2
from matplotlib import pyplot as plt img=cv2.imread('cat.png')
plt.imshow(img)
plt.show()

注:彩色图像使用OpenCV 加载时是BGR 模式。但是Matplotib 是RGB模式。所以彩色图像如果已经被OpenCV 读取,那它将不会被Matplotib 正确显示。

简单画图:

  # -*- coding: UTF-8 -*-
import numpy as np
import cv2
from matplotlib import pyplot as plt
cv2.namedWindow('hello')
img=np.zeros((512,512,3),np.uint8) #创建一张空图片
cv2.line(img,(60,90),(511,511),(255,0,0),6);
cv2.rectangle(img,(100,70),(300,300),(100,100,100),5)
cv2.circle(img,(200,200),60,(0,250,0),2)
font=cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'opencv',(60,400),font,4,(25,25,90),2)
cv2.imshow('hello',img) cv2.waitKey(0)
cv2.destroyAllWindows()

鼠标事件:

  # -*- coding: UTF-8 -*-
import numpy as np
import cv2
from matplotlib import pyplot as plt
#鼠标事件回调函数 函数参数统一如此
def draw_rectangle(event,x,y,flags,param):
if event==cv2.EVENT_LBUTTONDBLCLK:
cv2.rectangle(img,(x,y),(x+30,y+30),(250,20,20),5) img=np.zeros((512,512,3),np.uint8)
cv2.namedWindow('hello')
cv2.setMouseCallback('hello',draw_rectangle)
while 1:
cv2.imshow('hello',img)
if cv2.waitKey(20)&0xFF==27:
break;
cv2.destroyAllWindows()

滑动条:

 # -*- coding: utf-8 -*-
"""
Created on Sun Jan 5 13:51:34 2014
@author: duan
"""
import cv2
import numpy as np
def nothing(x): #滑动条的位置,通常默认为pass
pass
# 创建一副黑色图像
img=np.zeros((250,512,3),np.uint8)
cv2.namedWindow('image')
cv2.createTrackbar('R','image',0,255,nothing) #创建滑动条 ,滑动条名称,显示窗口名称,范围,回调函数
cv2.createTrackbar('G','image',0,255,nothing)
cv2.createTrackbar('B','image',0,255,nothing)
switch='0:OFF\n1:ON'
cv2.createTrackbar(switch,'image',0,1,nothing)
while(1):
cv2.imshow('image',img)
k=cv2.waitKey(20)&0xFF
if k==27:
break
r=cv2.getTrackbarPos('R','image')
g=cv2.getTrackbarPos('G','image')
b=cv2.getTrackbarPos('B','image')
s=cv2.getTrackbarPos(switch,'image')
if s==0:
img[:]=100
else:
img[:]=[b,g,r]
cv2.destroyAllWindows()

利用滑动条改变颜色画圆:

 # -*- coding: utf-8 -*-
import cv2
import numpy as np
r,b,g=0,0,0
def nothing(x): #滑动条的位置,通常默认为pass
pass def draw_circle(event,x,y,flags,param):
if event==cv2.EVENT_LBUTTONDBLCLK:
cv2.circle(img1,(x,y),10,(b,g,r),-1) # 创建一副黑色图像
img=np.zeros((250,512,3),np.uint8)
img1=np.zeros((250,512,3),np.uint8) cv2.namedWindow('image')
cv2.namedWindow('win') cv2.createTrackbar('R','image',0,255,nothing) #创建滑动条 ,滑动条名称,显示窗口名称,范围,回调函数
cv2.createTrackbar('G','image',0,255,nothing)
cv2.createTrackbar('B','image',0,255,nothing) cv2.setMouseCallback('win',draw_circle)
while(1):
cv2.imshow('win',img1)
cv2.imshow('image',img)
if cv2.waitKey(20)&0xFF==27:
break
r=cv2.getTrackbarPos('R','image')
g=cv2.getTrackbarPos('G','image')
b=cv2.getTrackbarPos('B','image')
img[:]=[b,g,r]
cv2.destroyAllWindows()

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. Codeforces Round #277 (Div. 2) 解题报告

    题目地址:http://codeforces.com/contest/486 A题.Calculating Function 奇偶性判断,简单推导公式. #include<cstdio> ...

  2. 10个经典的Android开源项目(附源码包)

    最近在抽空学习Android系统开发,对Android学习也比较感兴趣,刚开始学就试着在网上找几个项目源码研究看下,以下就将找到的Android项目源码列出,希望对正在或准备学习Android系统开发 ...

  3. JS 浮点计算BUG

    最近做项目的时候遇到一个比较纠结的js浮点计算问题. 当时是做利率计算,因为利率大多数涉及到小数点,精度要求也很高. 0.6+0.1+0.1=? 结果出现:0.7999999999999 网上查找了一 ...

  4. XJOI网上同步训练DAY2 T2

    [问题描述] 火车司机出秦川跳蚤国王下江南共价大爷游长沙.每个周末勤劳的共价大爷都会开车游历长沙市. 长沙市的交通线路可以抽象成为一个

  5. PowerShell_零基础自学课程_8_高级主题:WMI对象和COM组件

    本系列文章从最初的初识开始,基本上可以完成一些简单的系统管理了,为了更方便的管理系统,同时为了更好的发掘系统的性能,就需要用到系统提供 的一些高级特性,在Windows Server系列的OS中,如果 ...

  6. NSIS脚本根据操作系统版本动态决定默认安装目录

    问题描述: 因为windows XP和windows 7的program files不同(有program files(x86)),所以需要动态根据系统的位数设置默认安装目录 References: ...

  7. win10无法使用内置管理员账户打开

    对于这种问题其实对于专业版用户倒不是难事,很容易解决,具体方法如下: 首先WIN+R输入:gpedit.msc,打开组策略,找到“计算机配置”里面的“Windows设置”,打开“安全设置” -> ...

  8. QT 4.7支持中文(QT4.7)(中文)(makeqpf)

    QT 4.7支持中文(QT4.7)(中文)(makeqpf) 摘要: QT4.7.0在移植到开发板上的时候,中文支持是必不可少的,如何让QT支持中文,如何制作QT支持的字体文件,如何使QT UI编辑器 ...

  9. 主题简介 ASP .NET

    由控件的外观.样式组成的集合,由一个文件组构成,存放在App_Themes文件夹下. 主题包括:皮肤文件(.Skin).CSS文件(.CSS).图片.其它资源等. 主题的作用:统一设置Web页面的外观 ...

  10. php 的设计模式

    1.单例模式 单例模式顾名思义,就是只有一个实例.作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 单例模式的要点有三个: 一是某个类只能有一个实例: ...