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 ...
随机推荐
- day1||python
测试题: 0. Python 是什么类型的语言? Python是一种面向对象.解释型.动态类型计算机程序设计语言解释型:程序无需编译成二进制代码,而是在执行时对语句一条一条编译动态类型:在程序执行过程 ...
- VUE路由携带参数的三种方式
vue 通过路由在进行页面跳转时,会经常携带参数用于同步页面间的数据 路由中携带参数的方式总结如下: 路由定义示例: { name: 'list', path: '/list', component: ...
- 求最小环 —— 并查集 与 Floyd
对于一个图,如何求出其中的最小环(不包括一元环)? 很显然,对于一个无向图,每一条边都是一个二元环:对于有向图,可以考虑从每一个点出发,用DFS求出它到自己的距离,如果遍历了$N$个点仍未便利到自己, ...
- [工作积累] D3D10+ 中 Pixel Shader 的input semantic和参数顺序
由于semantic的使用,我们有理由相信 vertex shader的output 和 pixel shader的input是按照semantic来匹配的,而跟传入顺序无关.印象dx9时代是这样. ...
- vue 在全局设置cookie main.js文件
//设置cookie Vue.prototype.setCookie=function(cname, cvalue, exdays) { var d = new Date(); d.setTime(d ...
- nexus 数据库备份任务webhook 通知-另外一种方法
使用benthos 做为webhook,是一种方法,功能很强大,但是有点复杂,所以换了一个更简单直接的webhook 工具 根据请求的数据,只处理关于db exporter 任务部分的消息,然后就是调 ...
- numpy 和tensorflow 中的乘法
矩阵乘法:tf.matmul() np.dot() ,@ 逐元素乘法:tf.multiply() np.multiply()
- Inno Setup打包带有MSI文件的程序
[Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其他安装程序使用相同的AppId值. ; (生成新的GUID,点击 工具|在IDE中生成GUID.) AppId={{47A1 ...
- security cookie 机制(2)--- 初始化___security_cookie
在 cookie 检查中,必定先要取出初始的 cookie 值: 0011392E A1 14 70 11 00 mov eax,dword ptr [___securit ...
- Java 锁的学习
个人学习整理,所有资料均来源于网络,非原创. 死锁的四个必要条件:互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用.请求与保持条件(Hold and wait):已经得 ...