下载  >  课程资源  >  讲义  > Opencv-python中文教程

Opencv-python中文教程 评分

大部分opencv教程都以c++为实现,这本是简单的python实现
说明 说明 opencv初学/ OpenCV官方教程中文版 for Python, 原文为段立辉翻译,感谢Linux公社www.linuxidc.com 此文档为自学转述,如有侵权请联系本人 这里使用工具为 thon 3.5 OpenCV Python包 CV2 umpy matlablib 本文档使用看云构建 OpenCV的图像读取显示及保存 OpenCV的图像读取显示及保存 使用工具 Python35 使用库 numpy; opencv, 从图片的导入到另存 1.cv2 imread(文件名,标记)读入图像, ocV2 MREAD COLOR():读入彩色图像 O CV2IMREAD_ GRAYSCALE():以灰度模式读入图像 import numpy as np lmport cv2 img CV2. imread(45.jpg,o) 2cv2 show0显示图像 cv2 witkEy()等待键盘输入,为毫秒级 *cv2. destroy1 WIndows()可以轻易册除任何我们建立的窗口,括号内输入想删除的窗口名 []( Image/QQ截图20170109205321.jpg) CV2. namedWindow( image, CV2 WINDOW_NORMAL) Cv2. imshow(image, img Cv2 witkEy(o) CV2. destroyAllwindowS() 3cV2 write(文件名,img)保存图像, Cv2.imwrite('messigray. png, img) 4练习加载一个灰度图,显示图片,按下‘s′键保存后退出,或者按下ESC键退出不保存 Import numpy as np import cv2 img CV2. imread(45.jpg,o) CV2. imshow image, img) k=cV2. witkEy(⊙) if k==27 CV2. destroyAllWindows( #wait for esc key to exit elif k = ord('s) 本文档使用看云构建 OpenCV的图像读取显示及保存 CV2.imwrite( 46.png, img #wait for s key to save and exit CV2. destoryAllwindowS( 如果用的是64位系统,需将key=cV2 witkEy(0)改为k=Cv2 witkEy(0)&0XFF@!! 5 Matplotlib是牛X的绘图库,先简单介绍显示图像 import numpy as np import Cv2 from matplotlib import pyplot as plt img =CV2. imread(45.jpg,0) plt. imshow (img, cmap='gray, interpolation =bicubic) plt. ticks(l]),plt ticks([] #to hide tick values on X and Y axis plt show() 本文档使用看云构建 OpenC视频操作 Opencⅴ视频操作 使用工具 Python35 使用库 numpy; opencv 1.用摄像头捕获视频 C2 Video Capture0∶O为默认计算机默认摄像头,1可以更换来源; import numpy as np Import Cv2 cap Cv2. Videocapture(o) While(true) #capture frame-by-frame ret frame cap read() #our operation on the frame come here gray cV2. cvtcolor(frame, CV2 COLOR_BGR2GRAY) # display the resulting frame CV2. imshow( frame, gray) ifcv2. witkEy(1)&0XFF==ord("q"):#安q键退出 break #When everything done, release the capture cap. released CV2. destroyAllwindowS() 当代码报错时,可以使用cap. isOpened)来检査是否成功初始化了,返回值是True,就没有 问题,否则就要使用cap. open。 可以使用cap.get( propId)来获取视频的一些参数信息。 propId可以是0到18之间的任何数, 每一个数代表一个属性,自己可以尝试一下 其中一些值可以使用cap.set( propId, value)来修改,例如cap.get(3)和cap.get4)来查看每一 帧的宽和高,默认是640×480。我们可以使用ret=cap.set(3,320)和ret=cap.set(4,240)来 把宽和高改成320X240。 2.从文件中播放视频 把设备索引号改成文件名即可。在播放每一帧时,使用cv2 witkEy0适当持续时间,一般可 以设置25ms。 Import numpy as np Import Cv2 cap=cv2. Videocapture(' filename.avi)#文件名及格式 本文档使用看云构建 OpenC视频操作 While(true): #capture frame-by-frame re t frame cap read( #our operation on the frame come here gray cV2 cvtcolor(frame CV2 COLOR_BGR2GRAY) #display the resulting frame CV2. imshow( frame, gray) ifcv2. ArtkEy(1)&0×FF==ord("q'):#按q键退出 break twhen everything done, release the capture cap. release CV2.destroyAllwindowS() 代码中尝试修改视频流的一些属性; 本文档使用看云构建 OpenC视频操作 CV CAP PROP POS MSEC Current position of the video file in milliseconds CV CAP PROP POS FRAMES 0-based index of the frame to be decoded/captured next CV CAP PROP POS AVI RATIO Relative position of the video file:0- start of the film, 1-end of the film CV CAP PROP FRAME WIDTH Width of the frames in the video stream CV CAP PROP FRAME HEIGHT Height of the frames in the video stream CV CAP PROP FPS Frame rate CV CAP PROP FOURCC 4-character code of codec CV CAP PROP FRAME COUNT Number of frames in the video file CV CAP PROP FORMAT Format of the Mat objects returned by retrieve( CV CAP PROP MODE Backend-specific value indicating the current capture mode CV CAP PROP BRIGHTNESS Brightness of the image (only for cameras). CV CAP PROP CONTRAST Contrast of the image (only for cameras CV CAP PROP SATURATION Saturation of the image (only for cameras CV CAP PROP HUE Hue of the image(only for cameras) CV CAP PROP GAIN Gain of the image (only for cameras) CV CAP PROP EXPOSURE Exposure (only for cameras). CV CAP PROP CONVERT RGB Boolean flags indicating whether images should be converted to RGB CV CAP PROP WHITE BALANCE Currently unsupported CV CAP PROP RECTIFICATION Rectification flag for stereo cameras (note: only supported by DC1394 v 2. x backend cur- rently 本文档使用看云构建 8 OpenC视频操作 · int propID-这个参数指定你要更改的属性。这个参数有很多可选项,这里列出一部分。 CV CAP PROP POS MSEC-视频的当前位置(毫秒 CV CAP PROP POS FRAMES-视频的当前位置(帧〉 CV CAP PROP FRAME WIDTH-视频流的窝度 C∨ CAP PROP FRAME HEIGHT-视频流的高度 CV CAP PROP EPS-帧速率(帧) oC∨ CAP PR呷 P FOURCC编码器的四字符编码 double value-给 propID分配的值 3.保存视频 创建一个 rideowrite的对象,确定输出文件名,指定 Force编码,播放频率和帧的大小 最后是 scOla标签Tue为彩色。 Fourco是一个4字节码,用来确定视频的编码格式。 1In Fedora: DIVX XVID MPG X2 64 WMV1 WMV2 ⅩVID是最好的,MJPG是高尺寸视频,Ⅹ264得到小尺寸视频 2In Windows: DIVX 3nosX不知道用什么好 设置 Four格式时,原文里采用了cv2 Videowriter fourco0这个函数,若运行程序的时候 显示这个函数不存在,可以改用了Cv2 CV. CV FOURCO这个函数 import numpy as np Import Cv2 cap cv2. Videocapture(o) Define the codec and create Videowriter object fourcc Cv2 Videowriter-fourcc(XVID) out = Cv2.Videowriter(output. avi,fourcc, 20.0,(640, 480)) While(cap. isopenedo) ret frame cap reado if ret==true frame =CV2.flip(frame, 0) write the flipped frame out write(frame CV2. imshow( frame frame if cv2. waitKey(1)& OXFF =F ord( q: break else 本文档使用看云构建 OpenC视频操作 rea Release everything if job is finished cap. release( out release( Cv2.destroyAllWindowSO 本文档使用看云构建

...展开详情
所需积分/C币:8 上传时间:2018-03-29 资源大小:8.82MB
举报 举报 收藏 收藏
分享 分享