在pycharm中下载openCV
①打开pycharm下方的terminal终端
②在路径下直接输入 pip install opencv-python

1.读入图像
函数:cv2.imread()
第一个参数是图像的路径(需使用正斜杠),第二个是读取图形的方式
• cv2.IMREAD_COLOR:读入一副彩色图像。图像的透明度会被忽略,
这是默认参数。
• cv2.IMREAD_GRAYSCALE:以灰度模式读入图像

2.显示图像
函数:cv2.imshow()
第一个参数为窗口名称,第二个为要显示的图像

代码示例

import cv2
#路径是/  this is important
src=cv2.imread('D:/study/OpenCV/image/1.png')
#打印图片的类型
print(type(src))
#打印出图片的高宽,通道数目
print(src.shape)
print(src.size)
#窗口名称,图片
cv2.imshow("hello",src)
cv2.waitKey(0)
#可以删除我们建立的任何窗口
cv2.destroyAllWindows()

3.保存图像
函数:cv2.imwrite()
第一个参数为存储图像的路径,第二个为保存的图像

代码示例

import cv2
import numpy as np
img=cv2.imread('001.jpg',0)
cv2.imshow("001",img)
k=cv2.waitKey(0)
#如果用的是64位,则需改成k=cv2.waitKey(0)&0xFF
#如果按esc键,则不保存图片,直接退出
if k==27:
    cv2.destroyAllWindows()
#如果按s键,则保存图片后在退出
elif k==ord('s'):
    #第一个参数是路径名,不能包含空格
    cv2.imwrite('D:/study/OpenCV/image/桥本环奈.png',img)
    cv2.destroyAllWindows()

4.用摄像头捕获视频(视频的读取和显示)
为了获取视频,你应该创建一个 VideoCapture 对象。他的参数可以是设备的索引号,或者是一个视频文件。设备索引号就是在指定要使用的摄像头。一般的笔记本电脑都有内置摄像头。所以参数就是 0。你可以通过设置成 1 或者其他的来选择别的摄像头。

代码示例:

import numpy as np
import cv2
#为了获取一个视频,创建一个VedioCapture对象,参数可以是设备的索引号和视频文件。内置摄像头为0
cap=cv2.VideoCapture(0)
while(True):
    #第一个参数ret为True或者False, 代表有没有读取到图片
    #第二个参数frame表示截取到一帧的图片
    ret,frame=cap.read()
    #将rgb图片转换为灰度图
    gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
    cv2.imshow('frame',gray)
    #按下q键,停止捕获视频
    if cv2.waitKey(1)&0xFF == ord('q'):
        break
# 释放摄像头
cap.release()
cv2.destroyAllWindows()

5.从文件中播放视频并保存视频到指定文件夹中
代码示例

import numpy as np
import cv2
cap=cv2.VideoCapture('D:/b站视频/桥本小仙女.mp4')
#用来设置需要保存视频的格式
fourcc=cv2.VideoWriter_fourcc(*'XVID')
#用来保存视频
# VideoWriter(filename, fourcc, fps, frameSize[, isColor])
#     第一个参数是要保存的文件的路径
#     fourcc 指定编码器
#     fps 要保存的视频的帧率
#     frameSize 要保存的文件的画面尺寸
#     isColor 指示是黑白画面还是彩色的画面
out=cv2.VideoWriter('D:/study/OpenCV/vedio/output.avi',fourcc,20.0,(640,480))
#cap.isOpened() 来检查摄像头是否成功初始化
while (cap.isOpened()):
    rat,frame=cap.read()
    #cv2.flip(filename, flipcode)
    #filename:需要操作的图像
    #flipcode:翻转方式   1:水平翻转   0	:垂直翻转   -1:水平垂直翻转
    if rat==True:
        frame=cv2.flip(frame,-1)
        out.write(frame)
        cv2.imshow('frame',frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break
cap.release()
out.release()
cv2.destroyAllWindows()

ps:文章中的笔记都是根据OPENCV-PYTHON中文教程这本书的内容整理出来的,如果对这本书感兴趣,可以点击下方链接:https://pan.baidu.com/s/1UlWFgHmTuaj8TV55qpgHtw 提取码:f64k