赞
踩
目录
可以通过
百度pypi获取相关资源
进入官网,搜索框搜索想要获取的资源
如:博主输入 opencv-contrib
搜索框 输入获取 opencv-contrib 资源
如下图,点击打开opencv-contrib-python 4.6.0.66
左侧 点击 Download files获取资源文件
点击
获取相关资源文件
可以使用最新的版本 当然想要使用历史版本也是可以的,
左侧,选择Release history,查看历史版本,如博主使用的是4.1.0.25
点击
可以查看到历史版本
Download files 中 下载.whl文件
下载的文件必须 放置在不含中文的路径下
如下图,一定要将下载文件放置在不含中文的路径下
Win+R调cmd,命令控制台 输入安装命令 进行安装
详细安装第三方库的教程 可以参考博主的这一篇文章
pip list
可以查看第三方库是否安装成功
如果嫌弃官网资源下载比较慢,可以用下面网址 下载第三方库的资源文件
当然,下载numpy也是可以的,
只需要把网站的opencv改成numpy即可获取相关资源文件
opencv修改numpy即可,如下图所示
首先,需要导入图片资源文件
方法非常简单,选中图片ctrl+c复制
回到pycharm编辑器,选中工程,ctrl+v粘贴,命名好图片文件名称即可
点击OK确定后,加载入图片资源文件
下面,可以对导入的图片资源文件,进行操作
1.读取图片,获取图片的 宽、高、通道数
示例如下
- import cv2 # 导入 opencv
-
-
- def test1():
- # opencv 默认模式 BGR
- img_mat = cv2.imread("dog.jpg") # 读取图片
- print(img_mat, img_mat.shape) # 获取 宽、高、通道数
-
-
- test1()
输出结果,如下
- [[[233 221 203]
- [232 220 202]
- [232 220 202]
- ...
- [240 233 213]
- [240 233 213]
- [240 233 213]]
-
- [[234 221 199]
- [234 221 199]
- [233 220 198]
- ...
- [241 234 214]
- [241 234 214]
- [241 234 214]]
-
- [[236 221 195]
- [235 220 194]
- [235 220 194]
- ...
- [241 234 215]
- [241 234 215]
- [241 234 215]]
-
- ...
-
- [[115 164 172]
- [ 91 143 150]
- [ 68 123 130]
- ...
- [ 50 50 50]
- [ 41 46 45]
- [ 65 71 70]]
-
- [[ 55 113 119]
- [ 90 150 156]
- [ 98 162 167]
- ...
- [ 41 41 41]
- [ 28 33 32]
- [ 51 57 56]]
-
- [[ 25 87 93]
- [ 61 125 130]
- [ 77 145 150]
- ...
- [ 56 58 59]
- [ 41 46 47]
- [ 58 66 66]]] (341, 499, 3)
分析结果 得出
读取图片的 宽为341 高为499 通道数为3
2.读取图片 显示图片
示例如下
- import cv2
-
-
- def test1():
- # opencv 默认模式 BGR
- img_mat = cv2.imread("dog.jpg") # 读取图片
- cv2.imshow("img", img_mat) # 显示图片
- cv2.waitKey(0) # 添加延时
- cv2.destroyAllWindows() # 关闭所有窗口
-
-
- test1()
效果展示
3.图片的灰度化处理 压缩内存
示例如下
- import cv2
-
-
- def test1():
- # opencv 默认模式 BGR
- img_mat = cv2.imread("dog.jpg")
- # 图片的灰度化处理 节省内存
- img_gray = cv2.cvtColor(img_mat, cv2.COLOR_BGR2GRAY) # 灰度化
- cv2.imshow("img", img_gray) # 显示图片
- cv2.waitKey(0) # 添加延时
- cv2.destroyAllWindows() # 关闭所有窗口
-
-
- test1()
效果展示
4.获取摄像头并打开,设置按下ESC退出(关闭摄像头)
示例如下
- import cv2
-
-
- def test1():
- # 摄像头 VideoCapture参数0
- cap = cv2.VideoCapture(0)
- while 1:
- status, img = cap.read() # 读取返回参数有两个
- if status: # 摄像头状态正常
- cv2.imshow("img", img) # 显示每一帧图片
- key = cv2.waitKey(20) # 延时处理
- if key == 27: # ESC的ASCII码值为27
- break # 按下ESC结束 退出循环 关闭摄像头
- cv2.destroyAllWindows() # 关闭所有窗口
-
-
- test1()
效果展示
点击关闭按钮无法关闭,
只有按下ESC才可以关闭摄像头及窗口
视频的打开 以及 视频的存储 如下
- import cv2
-
-
- # 打开视频
- def open_video(video_path):
- cap = cv2.VideoCapture(video_path)
- while 1:
- status, img = cap.read()
- if status:
- cv2.imshow("video", img)
- key = cv2.waitKey(10)
- if key == 27:
- break
- else:
- break
- cv2.destroyAllWindows()
- cap.release()
-
-
- # 存储视频
- def write_video(video_path):
- # 创建一个窗口
- cv2.namedWindow("Video")
- # 打开摄像头
- cap = cv2.VideoCapture(0)
- # 分别传入的参数是路径、格式、帧率、视频尺寸
- video_writer = cv2.VideoWriter(video_path,
- cv2.VideoWriter_fourcc('M', 'J', 'P', 'G'),
- cap.get(cv2.CAP_PROP_FPS),
- (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),
- int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))
- )
- while 1:
- status, img = cap.read()
- if status:
- video_writer.write(img)
- cv2.imshow("Video", img)
- key = cv2.waitKey(10)
- if key == 27:
- break
- else:
- break
- cv2.destroyAllWindows()
- cap.release()
-
-
- if __name__ == "__main__":
- # open_video("D:/video_test/1223.avi")
- write_video("test1.avi")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。