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. idea打开dashboard

    1.编辑workspace.xml文件,搜索 “RunDashboard” 节点 2.在component节点下增加option <option name="configuration ...

  2. 在Django中运行ExtJS 事例

    网上关于ExtJS的事例挺多的,但是在Django中使用ExtJS挺少的,当然了,一些大牛觉得ExtJS运用在页面上是很简单的事,但是对于菜鸟来说,实在有点困难. 我这个例子是用在了sublime3这 ...

  3. xc笔记

    2019-03-20正式开始准备 --言语理解与表达------------------------------------------------------- 分为 1.逻辑填空   2.片段阅读 ...

  4. 2018-2019-2 20175202实验一《Java开发环境的熟悉》实验报告

    2018-2019-2 20175202实验一<Java开发环境的熟悉>实验报告 一.实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA 编辑.编译.运行.调试Jav ...

  5. GitHub Pages:静态站点托管服务(待补充)

    不管是 react 还是 vue 项目路由都必须使用 hash 方式,否则页面打不开,切记!!! 如果使用的是 vue-cli 3 创建项目,那么你要在根目录创建 vue.config.js 文件,并 ...

  6. innobackupex: error while loading shared libraries: libssl.so.6

    我遇到过这个问题,但由于测试环境不允许上网,所以虽然搜到了一篇解决办法,但我也未亲自测试,先记录下来别人的解决办法. 参考文章:http://blog.itpub.net/29654823/views ...

  7. SparkStream:4)foreachRDD详解

    转载自:http://blog.csdn.net/jiangpeng59/article/details/53318761 foreachRDD通常用来把SparkStream运行得到的结果保存到外部 ...

  8. python 画图工具matplotlib 去掉坐标轴和坐标的方法

    1. 去掉坐标轴的方法: plt.axis('off') 2.去掉刻度的方法: plt.xticks([]) plt.yticks([]) 以上语句需要将其置于 plt.show() 之前,plt.i ...

  9. 嵌入式V3s交叉编译 tslib和QT4.8.7,并使用Qt Creator编译项目

    本文主参考:http://zero.lichee.pro/%E5%BA%94%E7%94%A8/QT_index.html 环境 Ubuntu16 64位 arm-linux-gnueabihf ve ...

  10. net use远程重启服务器

      在命令行工具中分别输入如下3条命令 net use \\10.10.1.100\ipc$ Password /user:Username shutdown -f -r -m \\10.10.1.1 ...