Python使用Opencv提取特定区域的图像

Python使用Opencv提取指定区域的图像

在开始之前,我们需要安装相关的第三方库(opencv),在控制台使用pip安装。

pip install opencv-python

Opencv调用摄像头获取图像

import cv2

video = cv2.VideoCapture(0)
while True:
    ret,frame = video.read()
    cv2.imshow("Video_show", cv2.resize(frame,(600,400)))#视频显示窗口设置
    if cv2.waitKey(1) & 0xFF ==ord('q'):#按下按钮q时结束
        break
cap.release()
cv2.destroyAllWindows()

此时就可以调用计算机摄像头获取视频

特定区域视频提取

我们需要从视频中选取特定区域

if cv2.waitKey(1) & 0xff == ord("q"):
    select_data = cv2.selectROI("Video_show",frame)

并将选定区域的图像单独显示出来。

choose_data = frame[select_data[1]:select_data[1]+select_data[3],select_data[0]:select_data[0]+select_data[2]]
cv2.imshow("choose_video",choose_data)

完整代码

import cv2

def video_show():
    choose_video = False
    while True:
        ret1,frame = video.read()
        if not ret1:
            print("视频获取失败!")
            break
        cv2.imshow("Video_show",frame)
        if cv2.waitKey(1) & 0xff == ord("q"):
            select_data = cv2.selectROI("Video_show",frame)
            choose_video = True
        if choose_video :
            #获取选择框内的图像
            choose_data = frame[select_data[1]:select_data[1]+select_data[3],select_data[0]:select_data[0]+select_data[2]]
            cv2.imshow("choose_video",choose_data)
        if cv2.waitKey(1) & 0xff == ord("p"):
            break
    video.release()
    cv2.destroyAllWindows()
if __name__ == "__main__":
    video = cv2.VideoCapture(0)
    video_show()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

LuLaDe

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

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

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

打赏作者

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

抵扣说明:

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

余额充值