python版的openCV使用及下载

2024-04-22 08:52:47 浏览数 (1)

一、下载OpenCV模块

截止目前:现在OpenCV使用环境还是python3.8的版本所以咱们下载时记得用3.8版本的

终端下载:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python

这是国内的镜像下载能快一些;

下载成功的标志:

二、图像视频的加载和显示

2.1创建和显示窗口

namedWindow()   创建命名窗口

imshow()   显示窗口

destroyAllwindows()   摧毁窗口

resizeWindow()   改变窗口大小

waitKey()    等待用户输入

代码语言:javascript复制
#OpenCV导包的时候,叫做CV2

import  cv2

#cv2.WINDOW_AUTOSIZE不允许修改窗口

#创建窗口   

cv2.nameWindow('window',cv2.WINDOW_AUTOSIZE)

#更改窗口 大小

cv2.resizeWindow('window',800,600)

#展示窗口名字为window;

cv2.imshow('window',0)

#等待按键

#可以利用waitKey来销毁窗口,不用每次重启;0表示接受任意按键,其他的整数表示等待按键的时间,单位是毫秒;key是int型,最少16位,ascii码是8位

代码语言:javascript复制
Key=cv2.waitWey(0)

if Key &0xFF ==ord();‘q’:

   cv2.destroyAllWindows()

2.2读取图片

代码语言:javascript复制
import matplotlib.pylot as plt

图片 =cv2.imread("路径")

图片.max

#颜色不一样。是因为opencv读进来不是默认的图片,而是BGR,读进来,不要用别的方式展现,用opencv自己的方式展现;

cv.2imshow(“图片”,img)

plt.imshow(图片)

#必须执行外部文件;table和空格混用的缩进问题,执行之后,会 自动把外部函数导入

%run utils.py

2.3保存图片

代码语言:javascript复制
cv2.imwrite(path,img);

2.4读取摄像头和视频数据

代码语言:javascript复制
import cv2

#视频其实本质上就是由一幅一幅的照片组成的,

#打开摄像图



cv2.namedWindow('video',cv2.WINDOW_NORMAL)



cv2.resizeWindow('video',640,480)

cap=cv2.VideoCapture(0)

#类,首字母大写,代码书写规范

# #打开视频,输入视频的地址

# cap=cv2.VideoCapture('')



#循环读取摄像头的每一帧

# while True:

while cap.isOpened():



#读一帧数据,返回标记和这一帧数据,TURE表示读到了数据,False表示没读到数据,



    ret,frame=cap.read()

    #可以根据ret做个判断

    if not ret:

        #没读到数据,直接退出

        break

    #显示数据

    cv2.imshow("video",frame)

    key=cv2.waitKey(10)

    if key&0xFF==ord("q"):

        break

    #别忘了释放资源

    cap.release()

    cv2.destroyAllWindows()

2.5视频录制

代码语言:javascript复制
# import cv2
# cap=cv2.VideoCapture(0)
# fourcc =cv2.VideoWriter_fourcc(*'mp4v')
# # 创建videoWriter
# vw=cv2.VideoWriter('output.mp4',fourcc,30,(640,480))

# while True:
#     ret,frame=cap.read()
#     if not ret:
#         break
#     # 写每一帧数据
#     vw.write(frame)
#     cv2.imshow('frame',frame)
#     if cv2.waitKey(1)==ord('q'):
#         break

0 人点赞