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 ...
随机推荐
- 关于java的跨平台特性
Write once, compile anywhere,“一次编译,到处运行”的著名口号大家想必都听说过吧一次编译:把java代码(.java文件)通过编译器转换成字节码(.class文件)(符合j ...
- 【解决】nginx 下$_SERVER['PATH_INFO'] 无法获取到内容
Apache是模块加载文件的,默认支持$_SERVER['PATH_INFO'] : 而对于Nginx下, 是不支持PATH INFO的, 也就是它不会默认设置PATH_INFO. 而因为Nginx默 ...
- PyCharm导入tensorflow包
若是你也遇到这个问题,说明你也没有理解tensorflow到底在哪里. 当安装了anaconda3.6后,在PyCharm中设置interpreter,这个解释器决定了你在PyCharm环境中写的代码 ...
- zabbix监控到异常后自动执行对应命令
zabbix可不仅仅只有监控功能,还支持远程执行命令,实现简单自动化运维 以下以监控mysql的3306端口为例,如该端口异常关闭,自动执行命令重启mysql 创建一个监听3306的监控项,键值按照这 ...
- tf.Variable() 与tf.get_variable()的区别
每次调用 tf.Variable() 都会产生一个新的变量,变量名称是一个可选参数,运行命名相同,如果命名冲突会根据命名先后对名字进行处理, tf.get_variable()的变量名称是必填参数,t ...
- Oracle 相关知识
1.Navicat 连接Oracle 报错: 解决办法: 1).先下载oracle客户端,win64_11gR2_client.zip,下载地址:http://www.oracle.com/techn ...
- Azure CosmosDB (7) 分区键Partition Key
<Windows Azure Platform 系列文章目录> Azure Cosmos DB使用分区键(Partition Key),来对数据进行水平缩放(Horizon Scale), ...
- 时光如梭,MES生产制造执行系统上线2周年--->2016.08,发个博客展示一下系统的主要功能!
以下程序是系统当中的主要功能信息,一些相对简单功能就不在此处展示了. 1.模具基础资料Excel导入与模具资料手动更新功能.友情提示:为了避免不必要的麻烦已经将部分信息打码.! 2.配方资料Excel ...
- Struts2多文件上传原理和示例
一.创建上传文件的页面,代码如下所示 1.Struts2也可以很方便地实现多文件上传. 在输入表单域增加多个文件域:multifileupload.jsp <%@ page lan ...
- SpringBoot集成Atomikos使用Oracle数据库mybatis、jta框架
项目中需要数据库分布式事物的实现,于是采用了atumikos技术. 因为生产上需要稳定,所以采用了springboot 1.5.9.RELEASE版本. 本文代码gitlab下载地址: https:/ ...