OpenCV教程1(python)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

OpenCV教程1(python)
OpenCV教程1
OpenCV(python)安装
⼯欲善其事必先利其器,所以学好OpenCV第⼀步是将相关的环境搭建起来。

本教程是基于windows上的python3.X的,所以⾸先你得安装了python3.X。

没有安装的可以去下载对应的版本,双击点击下⼀步,下⼀步,直⾄安装成功。

好了,python安装完了,下⼀步就是安装OpenCV了。

因OpenCV需要⽤到numpy库,得先安装numpy库。

win+R键输⼊cmd进⼊控制台⿊窗⼝,输⼊pip install numpy,回车。

接下来就是正式安装OpenCV了,去这个⽹站,按ctrl+F进⾏搜索,输⼊opencv,回车,找到了OpenCV对应的下载链接。

下载完成后,还是在⿊窗⼝,输⼊pip install 你的路径名\完整的⽂件名.whl 后回车,提⽰安装成功了就⾏了。

下⾯的基础教程是建⽴在你学习过python的情况下,要不然会遇到很多问题。

没有学过python的,可以去⽹上找⼀些基础的教程来学习,只需要⼤致了解⼀下python的基本语法就可以。

OpenCV基础操作-图⽚
1.读⼊并显⽰图⽚
import numpy as np
import cv2
img = cv2.imread(r'lighthouse.png',cv2.IMREAD_COLOR)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
运⾏程序结果如下:
解释⼀下代码,import numpy as np和import cv2是⽤来引⼊相应的模块的,以便在程序中使⽤。

使⽤cv.imread()读⼊图像,第⼀个参数是图⽚的⽂件名,在不同的路径中,需要加⼊路径名。

r'lighthouse.png'字符串前⾯的r表⽰字符串中取消所有的转义。

第⼆个参数表⽰如何读取图⽚,常⽤的有⼏个值:
cv2.IMREAD_COLOR:读⼊⼀副彩⾊图像。

图像的透明度会被忽略,这是默认参数。

cv2.IMREAD_GRAYSCALE:以灰度模式读⼊图像。

cv2.IMREAD_UNCHANGED:读⼊⼀幅图像,并且包括图像的 alpha 通道。

返回值是⼀个包含图⽚数据的np.array数组型,OpenCV中所有的图⽚都是⽤np.array来表⽰的。

注意:图⽚的路径就算是错的,OpenCV也不会提醒你的,只会返回None,这需要⾃⼰写代码时注意。

使⽤cv2.imshow显⽰图⽚,第⼀个参数是显⽰窗⼝的名字,在上⾯的运⾏结果中,可以看到窗⼝名字为'image'。

第⼆个参数是要指向图⽚数组的变量名。

这⾥如果需要显⽰多幅图⽚,可以为每个窗⼝指定不同的名字。

若指定相同的名字,OpenCV只会⽤后⾯的去覆盖前⾯的图⽚。

特殊的情况,你可以⽤dWindow()先创建⼀个窗⼝。

第⼀个参数为窗⼝名字,第⼆个参数常⽤的可以取:
cv2.WINDOW_AUTOSIZE:默认的,窗⼝⼤⼩根据图⽚的⼤⼩,但窗⼝的⼤⼩不可以改变。

cv2.WINDOW_NORMAL:窗⼝⼤⼩可以改变。

import numpy as np
import cv2
img = cv2.imread(r'lighthouse.png',cv2.IMREAD_COLOR)
dWindow('image', cv2.WINDOW_NORMAL)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.waitKey()是⼀个键盘绑定函数。

需要指出的是它的时间尺度是毫秒级。

函数等待特定的⼏毫秒,看是否有键盘输⼊。

特定的⼏毫秒之内,如果按下任意键,这个函数会返回按键的 ASCII 码值,程序将会继续运⾏。

如果没有键盘输⼊,返回值为 -1,如果我们设置这个函数的参数为 0,那它将会⽆限期的等待键盘输⼊。

cv2.destroyAllWindows()可以轻易删除任何我们建⽴的窗⼝。

如果你想删除特定的窗⼝可以使⽤cv2.destroyWindow(),参数是你想删除的窗⼝名。

保存图⽚
cv2.imwrite('messigray.png',img)
其中cv2.imwrite()第⼀个参数是你想使⽤的⽂件名,OpenCV⽀持⼤多数的图⽚⽂件格式,不⽤太担⼼图⽚格式不⽀持。

第⼆个参数是你想要保存的图⽚。

总结
下⾯⽤⼀个例⼦来综合运⽤上述知识
import numpy as np
import cv2
img = cv2.imread(r'office_5.jpg',cv2.IMREAD_COLOR) dWindow('image',cv2.WINDOW_NORMAL) cv2.imshow('image',img)
k = cv2.waitKey(0)
if k == 27: #27为'ESC'键的ASCII码值
cv2.destroyAllWindows()
elif k == ord('s'): #ord()函数是获取单个字符的ASCII码值 cv2.imwrite(r'office.jpg',img)
cv2.destroyAllWindows()
下⼀节我们介绍⼀下OpenCV操作视频。

相关文档
最新文档