Opencv学习笔记(一)-----Python混合图片以及打开视频操作

这篇博客介绍了如何利用OpenCV库在Python中进行图片和视频处理。内容包括安装OpenCV、读取图片、调整图片尺寸、图片叠加、显示图片、保存图片的步骤。此外,还展示了图片混合的代码示例,以及如何打开和显示视频,通过cv2.waitKey()控制显示时长,并在完成后关闭窗口。最后,提供了处理视频时读取帧、转换为灰度图像并显示的代码片段。
摘要由CSDN通过智能技术生成

在这里插入图片描述

一、安装依赖库

cmd命令行下输入pip install opencv-python 命令安装opencv库;

二、相关函数及代码

1、读取图片cv2.imread()

cv2.imread(filepath, flags):
参数filepath:是这幅图像应该在此程序的工作路径,或者给函数提供完整路径;
参数flags:要告诉函数应该如何读取这幅图片;
参数flags​可选择的值及含义如下:
​cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,可用1替代;
​cv2.IMREAD_GRAYSCALE:读入灰度图片,可用0作为替代;
​cv2.IMREAD_UNCHANGED:读入完整图片,包括alpha通道,可用-1替代;

2、叠加图片cv2.addWeighted()

​cv2.addWeigthted(src1,a,src2,b,c)
​参数src1和src2为两张图片(由cv2.imread读入);
​参数a和b分别为图片的系数(0–1);
参数c为调节系数;
​可以简单地理解为:叠加后图片=图片1×系数1+图片2×系数2+亮度调节量,注意:图片1和图片2尺寸必须相同,文件类型相同;

cv2.resize(name,size):函数用来修改图片尺寸;用法有很多,这里用最简单的方法;
​参数name:表示要修改的图片(由cv2.imread读入);
​参数size:填入修改后的尺寸;

3、显示图片cv2.imshow()

cv2.imshow(name, img):
参数name:显示图片窗口的窗口名;
参数img:要显示的由imread读取的图片;

cv2.waitKey(num):单位为ms,表示等待的num毫秒内是否有按键输 入;若有则返回按键ASCII值,程序继续运行;无按键按下,超时返回-1;num=0时表示无限等待;若不调用则图片一闪而逝;

​ cv2.destroyAllWindows():销毁所有窗口;

​ cv2.destroyAllWindows(name):销毁指定窗口名的窗口;

4、保存图片cv2.imwrite()

​ cv2.imwrite(name, img):
​ 参数name:图片保存的文件名;
​ 参数img:要保存的图片;

5、图片混合代码

# -*- coding: utf-8 -*-
import numpy as np
import cv2

img_cat = cv2.imread('cat.jpg',1) #打开图片1
print(img_cat.shape)	#输出图片1尺寸(300, 533, 3)

img_back = cv2.imread('back.jpg',1)#打开图片2	
print(img_back.shape)	#输出图片2尺寸(1440, 1920, 3)

img_back = cv2.resize(img_back,(533,300))	#修改图片2的尺寸和1保持一致
print(img_back.shape)	#输出修改后的图片2尺寸(300, 533, 3)

res = cv2.addWeighted(img_cat,0.5,img_back,0.6,4)	#图片融合比例
cv2.imwrite('mix.jpg', res)		#保存融合后的图片
cv2.imshow('res',res)	#显示融合后的图片
cv2.waitKey(0)			#等待按键按下
cv2.destroyAllWindows()	#关闭显示框
三、打开及显示视频
```python
#打开视频
capture = cv2.VideoCapture(0)  #cv2.VideoCapture(0)#0为电脑内置摄像头,可填路径至文件名
#检查是视频是否打开
if capture.isOpened():
    open,frame = capture.read()
else:
    open = Flase
print(open)
while(open):
    ret, frame = capture.read()
    gray = cv2.cvtColor(frame,cv2. COLOR_BGR2GRAY  )#cv2.COLOR_BGR2RGB为BGR转化为RGB图像
    cv2.imshow('frame',gray)	#显示图像
    if cv2.waitKey(30) == 27:   #Esc按键退出
        break
capture.release()		#释放设备对其他进程的访问
cv2.destroyAllWindows()	#关闭视频显示框
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值