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的更多相关文章

  1. Android学习八---OpenCV JAVA API

    OpenCV java API的文档说明在OpenCV-2.4.10-android-sdk/sdk/java/javadoc/index.html的文件夹下. 想用java API的方式进行Open ...

  2. html5 canvas常用api总结(一)

    1.监听浏览器加载事件. window.addEventListener("load",eventWindowLoaded,false); load事件在html页面加载结束时发生 ...

  3. compass General 常用api学习[Sass和compass学习笔记]

    compass 中一些常用api 包括一些浏览器hack @import "compass/utilities/general" Clearfix Clearfix 是用来清除浮动 ...

  4. java基础3.0:Java常用API

    本篇介绍Java基础中常用API使用,当然只是简单介绍,围绕重要知识点引入,巩固开发知识,深入了解每个API的使用,查看JavaAPI文档是必不可少的. 一.java.lang包下的API Java常 ...

  5. C++ 中超类化和子类化常用API

    在windows平台上,使用C++实现子类化和超类化常用的API并不多,由于这些API函数的详解和使用方法,网上一大把.本文仅作为笔记,简单的记录一下. 子类化:SetWindowLong,GetWi ...

  6. node.js整理 02文件操作-常用API

    NodeJS不仅能做网络编程,而且能够操作文件. 拷贝 小文件拷贝 var fs = require('fs'); function copy(src, dst) { fs.writeFileSync ...

  7. js的常用api

    JavaScript常用API总结 原创 2016-10-02 story JavaScript 下面是我整理的一些JavaScript常用的API清单. 目录 元素查找 class操作 节点操作 属 ...

  8. JS操作DOM常用API总结

    <JS高程>中的DOM部分写的有些繁琐,还没勇气整理,直到看到了这篇博文 Javascript操作DOM常用API总结,顿时有了一种居高临下,一览全局的感觉.不过有时间还是得自己把书里面的 ...

  9. request对象常用API 获取请求参数的值 request应用 MVC设计模式

    1 request对象常用API   1)表示web浏览器向web服务端的请求   2)url表示访问web应用的完整路径:http://localhost:8080/day06/Demo1     ...

随机推荐

  1. day1||python

    测试题: 0. Python 是什么类型的语言? Python是一种面向对象.解释型.动态类型计算机程序设计语言解释型:程序无需编译成二进制代码,而是在执行时对语句一条一条编译动态类型:在程序执行过程 ...

  2. VUE路由携带参数的三种方式

    vue 通过路由在进行页面跳转时,会经常携带参数用于同步页面间的数据 路由中携带参数的方式总结如下: 路由定义示例: { name: 'list', path: '/list', component: ...

  3. 求最小环 —— 并查集 与 Floyd

    对于一个图,如何求出其中的最小环(不包括一元环)? 很显然,对于一个无向图,每一条边都是一个二元环:对于有向图,可以考虑从每一个点出发,用DFS求出它到自己的距离,如果遍历了$N$个点仍未便利到自己, ...

  4. [工作积累] D3D10+ 中 Pixel Shader 的input semantic和参数顺序

    由于semantic的使用,我们有理由相信 vertex shader的output 和 pixel shader的input是按照semantic来匹配的,而跟传入顺序无关.印象dx9时代是这样. ...

  5. vue 在全局设置cookie main.js文件

    //设置cookie Vue.prototype.setCookie=function(cname, cvalue, exdays) { var d = new Date(); d.setTime(d ...

  6. nexus 数据库备份任务webhook 通知-另外一种方法

    使用benthos 做为webhook,是一种方法,功能很强大,但是有点复杂,所以换了一个更简单直接的webhook 工具 根据请求的数据,只处理关于db exporter 任务部分的消息,然后就是调 ...

  7. numpy 和tensorflow 中的乘法

    矩阵乘法:tf.matmul()   np.dot() ,@ 逐元素乘法:tf.multiply()  np.multiply()

  8. Inno Setup打包带有MSI文件的程序

    [Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其他安装程序使用相同的AppId值. ; (生成新的GUID,点击 工具|在IDE中生成GUID.) AppId={{47A1 ...

  9. security cookie 机制(2)--- 初始化___security_cookie

    在 cookie 检查中,必定先要取出初始的 cookie 值: 0011392E A1 14 70 11 00       mov         eax,dword ptr [___securit ...

  10. Java 锁的学习

    个人学习整理,所有资料均来源于网络,非原创. 死锁的四个必要条件:互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用.请求与保持条件(Hold and wait):已经得 ...