opencv_python复习笔记_2-10

本文是关于OpenCV Python的复习笔记,主要探讨了如何使用OpenCV进行图像处理操作,包括基本的图像读取、显示、颜色空间转换以及简单的图像滤波技巧,适合初学者入门。
摘要由CSDN通过智能技术生成

import cv2 as cv
img = cv.imread("lena.jpg", 0)#绝对路径,如’D:\OpenCVSamples\lena.jpg’,路径不能有中文
'''
cv2.IMREAD_COLOR:彩色图,默认值(1)
cv2.IMREAD_GRAYSCALE:灰度图(0)
cv2.IMREAD_UNCHANGED:包含透明通道的彩色图(-1)'''
#使用 cv2.imshow()显示图片,窗口会自适应图片的大小
cv2.imshow("lena", img)#前面是窗口名,后面是要显示的图片对象
cv2.waitKey()

 

'''
cv2.waitKey()是让程序暂停的意思,参数是等待时间(毫秒 ms)。时间一到,会继续执行接下来的
程序,传入 0 的话表示一直等待。等待期间也可以获取用户的按键输入:k = cv2.waitKey(0)。
我们也可以先用 cv2.namedWindow()创建一个窗口,之后再显示图片:'''
cv2.namedWindow("lena2", cv2.WINDOW_NORMAL)#窗口名字和窗口显示方式
cv2.imshow("lena2", img)#这里不是有两个窗口名?
cv2.waitKey(0)
'''参数 1 依旧是窗口的名字,参数 2 默认是 cv2.WINDOW_AUTOSIZE,表示窗口大小自适应图
片,也可以设置为 cv2.WINDOW_NORMAL,表示窗口大小可调整。图片比较大的时候,可以
考虑用后者。'''
cv2.imwrite("lena_gray.jpg", img)#保存图片
import cv2 as cv
img = cv.imread("lena.jpg", 1)
if cv2.waitkey()=='s':
    cv2.imwrite("lena_save.bmp", img)
else:
    cv2.waitkey(0)
=======================
import cv2 as cv
import matplotlib.pyplot as plt
img = cv.imread('lena.jpg', 0)
plt.imshow(img, cmap='gray')
plt.show()
==========================
import cv2 as cv
import matplotlib.pylot as plt
img1 = cv.imread('lena.jpg', 0)
img2 = cv.cvtColor(img1, cv2.COLOR_BGR2RGB)
plt.subplot(121)
plt.imshow(img1)
plt.subplot(122)
plt.xticks[], plt.yticks[]
plt.imshow(img2)
plt.show()
========================
import cv2 as cv
import matplotlib.pylot as plt
capture = cv.VideoCapture(0)
while(Ture):
    ret, frame = capture.read()
    gray= cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
    cv.imshow('frame', gray)
    if(cv.waitkey(1)==ord('q')):
        break
'''
capture.read()函数返回的第 1 个参数 ret(return value 缩写)是一个布尔值,表示当前这一
帧是否获取正确。cv2.cvtColor()用来转换颜色,这里将彩色图转成灰度图。
另外,通过 cap.get(propId)可以获取摄像头的一些属性,比如捕获的分辨率,亮度和对
比度等。propId 是从 0~18 的数字,代表不同的属性,完整的属性列表可以参考:Property
Identifier。也可以使用 cap.set(propId,value)来修改属性值。比如说,我们在 while 之前
添加下面的代码:
'''
width, height = capture.get(3), capture.get(4)
print(width, height)
capture.set(cv.CAP_PROP_FRAME_WIDTH, width*2) 
capture.set(cv.CAP_PROP_FRAME_HEIGHT, height*2) 
==================
capture = cv.VideoCapture("demo_video.mp4")
while(capture.isOpened()):
    ret, frame = capture.read()
    gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
    cv.imshow('frame', gray)
    if(cv.waitkey(30)==ord('q')):
        break
=================
capture = cv.VideoCapture(0)
fourcc = cv.Videowrite_fourcc(*'MJPG')
outfile = cv.Videowrite('outfile', fourcc, 25, (640, 480))
while(capture.isOpened()):
    ret, frame = capture.read()
    if ret:
        outfile.write(frame)
        cv.imshow('frame', frame)
        if(cv.waitkey(1)==ord('q')):
            break
    else:
        break
'''
使用 cv2.VideoCapture()创建视频对象,然后在循环中一帧帧显示图像。参数传入数
字时,代表打开摄像头,传入本地视频路径时,表示播放本地视频
o cap.get(propId)获取视频属性,cap.set(propId,value)设置视频属性
o cv2.VideoWriter()创建视频写入对象,用来录制/保存视频
首先我们需要创建一个滑动条,如
cv2.createTrackbar('R','image',0,255,call_back),其中
o 参数 1:滑动条的名称
o 参数 2:所在窗口的名称
o 参数 3:当前的值
o 参数 4:最大值
o 参数 5:回调函数名称,回调函数默认有一个表示当前值的参数
创建好之后&#
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

王泽邦_bill

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

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

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

打赏作者

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

抵扣说明:

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

余额充值