开始学习深度学习和视觉相关内容。首先学习了opencv的一些基本功能。
推荐课程:
GitHub - murtazahassan/Learn-OpenCV-in-3-hours
bilibili链接
3小时内学会Python-OPENCV(包括3个示例项目)_哔哩哔哩_bilibili
本文是在学习了该三小时课程后的一个Review,供自己学习参考。具体顺序和细节可能和课程有出入,理解也有不到位的地方,欢迎大家指出交流。
一、Pycharm安装 & Opencv环境配置
安装pycharm - 上述课程第一节(目前好像找不到社区版,得要学生认证。可以淘宝买。)
Opencv环境设置:
File 文件 - Settings 设置中:

点击+号,搜索相关的包即可。
这里安装Opencv-python和Numpy即可。
可以在终端中输入pip list查看是否安装成功。
本文中所有程序只需引入这两个包:
import numpy as np
import cv2
二、OpenCV基础操作
2.1 读取与显示(图片&视频)
使用cv2.imread()和cv2.imshow()来读取和显示图片
img = cv2.imread('path')
cv2.imshow('Window_name', img)
这样就能从Path路径中读取图片,并显示在名字为'Window_name'的窗口中。
然而,这样的窗口显示会立马消失,因为执行完imshow后程序就会结束。此时我们需要一个函数,类似C++中getchar()来等待一个键盘输入或者固定时间,来延迟程序结束。
cv2.waitKey(0)
其中0代表无限等待,直到有一个键盘输入。如果是其余正值x,那么就会在x毫秒后结束程序,或者是等待一个输入。
具体实例如下:
在项目路径下设定 resource文件夹,放入jks.jpg文件。
import cv2
import numpy as np
img = cv2.imread('resource/jks.jpg')
cv2.imshow('Original', img)
cv2.waitKey(0)
原始图片和程序效果分别如下:


视频采用cv2.VideoCapture(0)来捕捉。一般来说0是自己电脑的摄像头编号。如果外接了如手机的摄像头那么就改为对应的编号。
如何显示视频呢?视频其实就是一帧帧的图片。我们只需把每一帧以固定的速度显示出来。
很显然我们要用到一个简单的循环。具体代码如下:
import cv2
cap = cv2.VideoCapture(0)
#调整大小和明度
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 500)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 500)
cap.set(cv2.CAP_PROP_BRIGHTNESS,10000)
#显示
while True:
success, img = cap.read()
cv2.imshow("Video", img)
if cv2.waitKey(1) & 0xFF == ord('q'): #当输入为‘q’时退出
print ("press q! quit!")
break
</

最低0.47元/天 解锁文章
25万+






