python编程 第三方库opencv使用说明

目录

一:安装第三方库

二: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.读取图片,获取图片的 宽、高、通道数

示例如下

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")
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chenruhan_QAQ_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值