python -- opencv学习--图像基本操作--读取图片和视频--截取--颜色操作

rgb分别代表红绿蓝

安装

pip install opencv-contrib-python

需要导入的包

import cv2 as cv 
import numpy as np
import matplotlib.pyplot as plt

读取图片

  1. 读取图像
img = cv.imread(filepath,flags)

filepath:要读入图片的完整路径
flags:读入图片的标志
	cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道,可以直接写1
	cv2.IMREAD_GRAYSCALE:读入灰度图片,可以直接写0
	cv2.IMREAD_UNCHANGED:读入完整图片,包括alpha通道,可以直接写-1

打印图片结果:
是一个三维矩阵,从外到内依次是:

  • 存储每一行,即高
  • 存储着一行的每个像素点,即宽
  • 每一个像素点的三原色BGR,即点
    在这里插入图片描述
  1. 显示图片
# 设置显示图片的标题
cv.imshow('image',img)
# 它显示指定的图像的毫秒时间。waitKey(0)将无限地显示窗口,直到任何按键按下。
cv.waitKey(0)
# 如果未取消分配任何相关的内存使用量,则调用将负责取消分配。
cv.destroyAllWindows()

在这里插入图片描述

图片属性

名称说明
size图片大小,占用大小
nbytes占用内存
shape形状
data数据流
shape表示行数列数通道数

读取视频

import cv2 as cv

vide = cv.VideoCapture(路径/设备)
while vide.isOpened():
    ret,frame = vide.read()
    cv.imshow('frame',frame)
    if cv.waitKey(100) & 0xFF == ord('q'):
        break
  1. 读取视频
vc = cv.VideoCapture(路径/设备)
1.是从文件(.MPG或.AVI格式)中读取视频,对象创建以后,OpenCV将会打开文件并做好准备读取它
2.从摄像机中读取视频,这种情况下,我们会给出一个标识符,用于表示我们想要访问的摄像机。
对于摄像机而言,这个标志符就是一个标志数字,如果只有1个摄像机,那么就是0,如果系统中有多个摄像机,那么只要将其向上增加即可。
  1. 判断视频读取或者摄像头调用是否成功
cv.isOpen()
# 成功则返回true。
  1. 读取一帧
# 返回其中ret是布尔值,如果读取帧是正确的则返回True,如果文件读取到结尾,它的返回值就为False。
# frame当前这一帧的图像
ret,frame = vide.read()
  1. 等待
# 和上面一样是毫秒值,用于控制视频播放速度
# 太大会卡顿,太小会飞快
cv.waitKey()
  1. 释放
调用 vc.release() 释放摄像头
调用 cv2.destroyAllWindows() 关闭所有图像窗口。

截取图片

我们知道图像对象是由三维矩阵所构成。
我们可以对图像进行切片

img = cv.imread()
img = img[y开始:y结束,x开始:x结束]
cv.imshow('image', img)
cv.waitKey(0)
cv.destroyAllWindows()

颜色

颜色的提取

注意顺序都不能错,一定是bgr,而不是rgb

b,g,r = cv.split(img)
print(b)

split可以将图片的三原色分开进行处理

也可以进行合并

img=cv.merge(b,g,r)

只保留某颜色

可以把其他颜色置为0就可以了
保留r

img[:,:,0]=0
img[:,:,1]=0
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一只小余

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

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

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

打赏作者

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

抵扣说明:

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

余额充值