opencv常用api
opencv常用api
一、图像及视频读写
img=cv2.imread('jiang.jpg',1) cv2.imwrite('jiang.jpg',img) cv2.imshow('jiang',img) cap=cv2.VideoCapture(0) ret,frame=cap.read()
cap.isOpened() cap.open() width,hight=cap.get(3),cap.get(4) cap.set(propId,value) gray=cv2.ctvColor(img,color_BGR2GRAY)
cap=cv2.VideoCapture('hello.avi') cv2.waitKey(25) fourcc=cv2.VideoWrier_fourcc(*'MJPG') out=cv2.VideoWriter('jiang.avi',fourcc,25.0,(640,480))
out.write(frame)
二、窗口操作相关:
cv2.namedWindow('jiang',[cv2.WINDOW_NORMAL,cv2.WINDOW_AUTOSIZE]) k=cv2.waitKey(0)&0xFF cv2.destroyWindow('jiang') cv2.destroyAllWindows()
cv2.setMouseCallback('windowname',callfunc)
三、绘图api
cv2.line(img,(0,0),(511,511),(0,255,0),5) cv2.rectangle() cv2.circle() cv2.ellipse() cv2.putText()
四、图像属性
img.shape() img.size() img.dtype() img.item(10,20,2)
五、图像加\二值化\位运算
dst=cv2.addWeighted(img1,0.7,img2,0.3,0) ret, mask = cv2.threshold(grayImage, 175, 255, cv2.THRESH_BINARY) cv2.bitwise_and()
六、拆分合并通道
b,g,r=cv2.split(img) img=cv2.merge([b,g,r])
七、程序运算效率相关
e1 = cv2.getTickCount() e2 = cv2.getTickCount() time = (e2 - e1)/ cv2.getTickFrequency()
八、按颜色选取图像区域
lower_blue=np.array([110,50,50]) upper_blue=np.array([130,255,255]) mask=cv2.inRange(hsv,lower_blue,upper_blue)
九、图像几何变换
移位:M=np.float32([[1,0,50][0,1,100]]) newPic = cv2.warpAffine(img,M,(cols,rows)) cv2.resize(src,dsize,dst=None,fx=None,fy=None,interpolation=None)
interpolation:['INTER_AREA', 'INTER_LINEAR' , 'INTER_CUBIC']
旋转:M = cv2.getRotationMatrix2D((rows/2,cols/2),45,0.6) newPic = cv2.warpAffine(img,M,(cols,rows))
仿射变换:M = cv2.getAffineTransform(pt1,pt2) newPic = cv2.warpAffine(img,M,(2*cols,2*rows))
newPic=cv2.resize(newPic,None,fx=0.5,fy=0.5,interpolation=cv2.INTER_CUBIC)
透视变换:M=cv2.getPerspectiveTransform(pts1,pts2) dst=cv2.warpPerspective(img,M,(300,300))
pts1:原图上四个点,任意三点不能共线
opencv常用api的更多相关文章
- Android学习八---OpenCV JAVA API
OpenCV java API的文档说明在OpenCV-2.4.10-android-sdk/sdk/java/javadoc/index.html的文件夹下. 想用java API的方式进行Open ...
- html5 canvas常用api总结(一)
1.监听浏览器加载事件. window.addEventListener("load",eventWindowLoaded,false); load事件在html页面加载结束时发生 ...
- compass General 常用api学习[Sass和compass学习笔记]
compass 中一些常用api 包括一些浏览器hack @import "compass/utilities/general" Clearfix Clearfix 是用来清除浮动 ...
- java基础3.0:Java常用API
本篇介绍Java基础中常用API使用,当然只是简单介绍,围绕重要知识点引入,巩固开发知识,深入了解每个API的使用,查看JavaAPI文档是必不可少的. 一.java.lang包下的API Java常 ...
- C++ 中超类化和子类化常用API
在windows平台上,使用C++实现子类化和超类化常用的API并不多,由于这些API函数的详解和使用方法,网上一大把.本文仅作为笔记,简单的记录一下. 子类化:SetWindowLong,GetWi ...
- node.js整理 02文件操作-常用API
NodeJS不仅能做网络编程,而且能够操作文件. 拷贝 小文件拷贝 var fs = require('fs'); function copy(src, dst) { fs.writeFileSync ...
- js的常用api
JavaScript常用API总结 原创 2016-10-02 story JavaScript 下面是我整理的一些JavaScript常用的API清单. 目录 元素查找 class操作 节点操作 属 ...
- JS操作DOM常用API总结
<JS高程>中的DOM部分写的有些繁琐,还没勇气整理,直到看到了这篇博文 Javascript操作DOM常用API总结,顿时有了一种居高临下,一览全局的感觉.不过有时间还是得自己把书里面的 ...
- request对象常用API 获取请求参数的值 request应用 MVC设计模式
1 request对象常用API 1)表示web浏览器向web服务端的请求 2)url表示访问web应用的完整路径:http://localhost:8080/day06/Demo1 ...
随机推荐
- 2018-2019-2 20165313《网络对抗技术》Exp1 缓冲区溢出实验
实践涉及指令 NOP:NOP指令即"空指令".执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP后面的一条指令.(机器码:90) JNE:条件转移指令, ...
- 控制使用jquery load()方法载入新页面中的元素
最近在项目中用到jquery的load()方法来加载页面,首先简单说一下load()方法. load(url,data,callback);该方法接收三个参数,第一个是载入的页面地址,第二个是要传到服 ...
- 《python for data analysis》第九章,数据聚合与分组运算
# -*- coding:utf-8 -*-# <python for data analysis>第九章# 数据聚合与分组运算import pandas as pdimport nump ...
- Poj2688cleaningrobot
这道题让我们求一个地图上的各个点之间的最短路径说白了旅行商问题. 那么我们先用一个裸的BFS求出各个点之间的最短距离,然后我们再枚举各个点的全排列即可 这道题的细节很多,详见注释 上代码~ #incl ...
- Visual Studio 2017 Android 调试无法连接到虚拟机
输出窗口输出如下: 1>Starting deploy 4.5" KitKat (4.4) HDPI Phone ... 1>Starting emulator 4.5" ...
- 创建一个dynamics 365 CRM online plugin (四) - PreValidation
开始之前,我们要确认一下 Plugin 的 pipeline. PreValidation -> PreOperation -> Server Side System Main Event ...
- py-day4-1 python reduce函数
from functools import reduse 从模块中导入 reduce函数: 处理一个序列,然后把序列进行合并操作 #**** 问题:求1+2+3+100的和是多少? # 一,原始 ...
- MPU9250九轴陀螺仪--连接MPU9250
树莓派连接MPU9250九轴加速度传感器1,配线方法 树莓派侧 MPU9250侧 3.3V VCC (SDA)GPIO2 SDA (SCL)GPIO3 SCL GND GND 2,I2C有效在树莓派里 ...
- H3C BFD MAD检测方式的IRF典型配置举例
一.组网需求 由于网络规模迅速扩大,当前中心交换机(Device A)转发能力已经不能满足需求,现需要在保护现有投资的基础上将网络转发能力提高一倍,并要求网络易管理.易维护. 二.组网图 三.配置思路 ...
- Windows自定义运行命令
1 打开注册表regedit 2 找到:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths 3 新增项,自己运 ...