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. 解决微信浏览器无法使用window.location.reload刷新页面

    function reload(){ window.location.href=window.location.href+"?id="+10000*Math.random(); }

  2. 网络编程一定要看过的socket另一座大山

    上次的socket还有很多坑.但是总是在不断的改进的.下面就来看看一个升级版的内容 import socket server = socket.socket() ip_port = ("19 ...

  3. vue-----样式绑定 事件处理

    <!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name=& ...

  4. 7 种 join

    DROP TABLE IF EXISTS `test_student`; CREATE TABLE `test_student` ( `id` ) NOT NULL COMMENT '学号', `se ...

  5. dataframe基础

    1 df[i]   其中i是0,1,2,3,...  此时选中的是dataframe的第i列 2 dataframe查看每一列是否有缺失值 temp = data.isnull().any() #列中 ...

  6. AE插件:能量激光描边光效特效Saber Mac汉化版

    与大家分享一款非常好用的AE插件Saber插件汉化版.videocopilot saber是一款能量激光描边光效特效AE插件,可以帮助用户制作出能量激光.传送门.霓虹灯.电流.光束.光剑等效果.小编现 ...

  7. stolon cloud native postgresql 高可用方案

    stolon方案与patroni 类似,是一个新的pg ha 方案 包含的组件 keeper:它管理一个PostgreSQL实例,汇聚到由领导者sentinel计算的clusterview. sent ...

  8. Excel 导入 Mysql

    1.将Excel xls文件 另存为 csv 文件: 2.用记事本打开csv文件,然后另存为编码为utf-8的txt文件: 3.将txt文件后缀更改为csv 4.最后,用phpmyadmin或其他数据 ...

  9. 我发起了一个 用 javascript 写一个 Office 的 开源项目 JS Office

    用   js  写   Office,  说实在的,  把 现在已有的 各种 富文本编辑器 和 电子表格 js 库 收集起来 整合一下 就 差不多了 , 放到 前几天 那个 “  js 作为 一等公民 ...

  10. 二、初步认识springBoot的pom.xml

    1.  大体结构 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www. ...