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. htop的安装和使用

    1.Ubuntu16.04中htop安装很简单 sudo apt-get install htop 2.htop的使用,直接以普通用户输入htop命令即可执行 关于其基本介绍和使用方式在见下 http ...

  2. python 日常 摘要

    正负无穷float(‘inf’): Python中可以用表示正负无穷:float("inf"), float("-inf") 不等式: 当涉及 > 和 & ...

  3. Ubuntu中,wxpython的TextCtrl引发的error:_pixman_log_error

    1>在windows下,执行下面的代码,不会报错,但是在Ubuntu下,就会报错 2>在Ubuntu下执行上面的代码,会提示下面的错. 解决方法: 若是TextCtrl中不写wx.TE_M ...

  4. DevExpress GridControl控件行内新增、编辑、删除添加选择框

    以下为内容以图片居多1234表示点击顺序 先新增一行 操作和新增数据行一样 打开ColumnEdit  选择new ButtenEdit  new上方会出现一个系统命名的button 命名可以更改必须 ...

  5. celery+Rabbit MQ实战记录

    基于以前的一篇文章,celery+Rabbit MQ的安装和使用, 本文更加详细的介绍如何安装和使用celey, Rabbit MQ. 并记录在使用celery时遇到的一些问题. 1.安装 Rabbi ...

  6. Git使用之(pathspec master did not match any file(s) known to git)

    一 问题概述 今天在工作中遇到一个问题,使用很久的一个local git repository,里面只有develop分支,那么现在想将分支切换到master分支,问题来了,在切换到master分支时 ...

  7. 常用git的命令

    常用git的命令 详解git fetch与git pull的区别 Git放弃本地所有修改,强制更新: git fetch --all git reset --hard origin/master 说明 ...

  8. 利用Clang(Python接口)来解析C++

    1 背景说明 最近希望利用开源库来解析C++头文件,并做一些自动翻译.自动注释之类的工作.经过两天的调研,发现clang最有希望满足需求.clang提供了三套接口来共外部使用,liblang最适合作为 ...

  9. SQL脚本--总耗CPU最多的前个SQL --平均耗CPU最多的前个SQL

    --总耗CPU最多的前个SQL SELECT TOP 20 total_worker_time/1000 AS [总消耗CPU 时间(ms)],execution_count [运行次数], qs.t ...

  10. python读写文件\r\n问题

    newline controls how universal newlines mode works (it only applies to text mode). It can be None, ' ...