当前位置:   article > 正文

python编程 第三方库opencv使用说明_opencv-python使用文档

opencv-python使用文档

目录

一:安装第三方库

二:opencv第三方库的使用


一:安装第三方库

可以通过

百度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,命令控制台 输入安装命令 进行安装

详细安装第三方库的教程 可以参考博主的这一篇文章

PyCharm以及第三方库安装教程

pip list

可以查看第三方库是否安装成功

如果嫌弃官网资源下载比较慢,可以用下面网址 下载第三方库的资源文件

https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv

当然,下载numpy也是可以的,

只需要把网站的opencv改成numpy即可获取相关资源文件

opencv修改numpy即可,如下图所示

二:opencv第三方库的使用

首先,需要导入图片资源文件

方法非常简单,选中图片ctrl+c复制

回到pycharm编辑器,选中工程,ctrl+v粘贴,命名好图片文件名称即可

点击OK确定后,加载入图片资源文件

下面,可以对导入的图片资源文件,进行操作 

1.读取图片,获取图片的 宽、高、通道数

示例如下

  1. import cv2 # 导入 opencv
  2. def test1():
  3. # opencv 默认模式 BGR
  4. img_mat = cv2.imread("dog.jpg") # 读取图片
  5. print(img_mat, img_mat.shape) # 获取 宽、高、通道数
  6. test1()

输出结果,如下

  1. [[[233 221 203]
  2. [232 220 202]
  3. [232 220 202]
  4. ...
  5. [240 233 213]
  6. [240 233 213]
  7. [240 233 213]]
  8. [[234 221 199]
  9. [234 221 199]
  10. [233 220 198]
  11. ...
  12. [241 234 214]
  13. [241 234 214]
  14. [241 234 214]]
  15. [[236 221 195]
  16. [235 220 194]
  17. [235 220 194]
  18. ...
  19. [241 234 215]
  20. [241 234 215]
  21. [241 234 215]]
  22. ...
  23. [[115 164 172]
  24. [ 91 143 150]
  25. [ 68 123 130]
  26. ...
  27. [ 50 50 50]
  28. [ 41 46 45]
  29. [ 65 71 70]]
  30. [[ 55 113 119]
  31. [ 90 150 156]
  32. [ 98 162 167]
  33. ...
  34. [ 41 41 41]
  35. [ 28 33 32]
  36. [ 51 57 56]]
  37. [[ 25 87 93]
  38. [ 61 125 130]
  39. [ 77 145 150]
  40. ...
  41. [ 56 58 59]
  42. [ 41 46 47]
  43. [ 58 66 66]]] (341, 499, 3)

分析结果 得出

读取图片的 宽为341 高为499 通道数为3 

2.读取图片 显示图片

示例如下

  1. import cv2
  2. def test1():
  3. # opencv 默认模式 BGR
  4. img_mat = cv2.imread("dog.jpg") # 读取图片
  5. cv2.imshow("img", img_mat) # 显示图片
  6. cv2.waitKey(0) # 添加延时
  7. cv2.destroyAllWindows() # 关闭所有窗口
  8. test1()

效果展示 

3.图片的灰度化处理 压缩内存

示例如下

  1. import cv2
  2. def test1():
  3. # opencv 默认模式 BGR
  4. img_mat = cv2.imread("dog.jpg")
  5. # 图片的灰度化处理 节省内存
  6. img_gray = cv2.cvtColor(img_mat, cv2.COLOR_BGR2GRAY) # 灰度化
  7. cv2.imshow("img", img_gray) # 显示图片
  8. cv2.waitKey(0) # 添加延时
  9. cv2.destroyAllWindows() # 关闭所有窗口
  10. test1()

效果展示 

4.获取摄像头并打开,设置按下ESC退出(关闭摄像头)

示例如下

  1. import cv2
  2. def test1():
  3. # 摄像头 VideoCapture参数0
  4. cap = cv2.VideoCapture(0)
  5. while 1:
  6. status, img = cap.read() # 读取返回参数有两个
  7. if status: # 摄像头状态正常
  8. cv2.imshow("img", img) # 显示每一帧图片
  9. key = cv2.waitKey(20) # 延时处理
  10. if key == 27: # ESC的ASCII码值为27
  11. break # 按下ESC结束 退出循环 关闭摄像头
  12. cv2.destroyAllWindows() # 关闭所有窗口
  13. test1()

效果展示 

点击关闭按钮无法关闭,

只有按下ESC才可以关闭摄像头及窗口 

视频的打开 以及 视频的存储  如下

  1. import cv2
  2. # 打开视频
  3. def open_video(video_path):
  4. cap = cv2.VideoCapture(video_path)
  5. while 1:
  6. status, img = cap.read()
  7. if status:
  8. cv2.imshow("video", img)
  9. key = cv2.waitKey(10)
  10. if key == 27:
  11. break
  12. else:
  13. break
  14. cv2.destroyAllWindows()
  15. cap.release()
  16. # 存储视频
  17. def write_video(video_path):
  18. # 创建一个窗口
  19. cv2.namedWindow("Video")
  20. # 打开摄像头
  21. cap = cv2.VideoCapture(0)
  22. # 分别传入的参数是路径、格式、帧率、视频尺寸
  23. video_writer = cv2.VideoWriter(video_path,
  24. cv2.VideoWriter_fourcc('M', 'J', 'P', 'G'),
  25. cap.get(cv2.CAP_PROP_FPS),
  26. (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),
  27. int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))
  28. )
  29. while 1:
  30. status, img = cap.read()
  31. if status:
  32. video_writer.write(img)
  33. cv2.imshow("Video", img)
  34. key = cv2.waitKey(10)
  35. if key == 27:
  36. break
  37. else:
  38. break
  39. cv2.destroyAllWindows()
  40. cap.release()
  41. if __name__ == "__main__":
  42. # open_video("D:/video_test/1223.avi")
  43. write_video("test1.avi")
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号