您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:python环境下OPenCV处理视频流局部区域像素值

51自学网 2022-02-21 10:49:32
  python
这篇教程python环境下OPenCV处理视频流局部区域像素值写得很实用,希望能帮到您。

参考我之前写的处理图片的文章:Python+OpenCV实现【图片】局部区域像素值处理(改进版)

开发环境:Python3.6.0 + OpenCV3.2.0

任务目标:摄像头采集图像(例如:480640),并对视频流每一帧(灰度图)特定矩形区域(48030)像素值进行行求和,得到一个480*1的数组,用这480个数据绘制条形图,即在逐帧采集视频流并处理后“实时”显示采集到的视频,并“实时”更新条形图。工作流程如下图:

这里写图片描述

这里写图片描述

源码:

# -*- coding:utf-8 -*-import cv2import numpy as npcamera = cv2.VideoCapture(0) # 参数0表示第一个摄像头# camera = cv2.VideoCapture("test.avi") # 从文件读取视频# 判断视频是否打开if (camera.isOpened()):    print 'Open'else:    print 'Fail to open!'# # 测试用,查看视频size# size = (int(camera.get(cv2.CAP_PROP_FRAME_WIDTH)),#        int(camera.get(cv2.CAP_PROP_FRAME_HEIGHT)))# print 'size:'+repr(size)rectangleCols = 30while True:    grabbed, frame_lwpCV = camera.read() # 逐帧采集视频流    if not grabbed:        break    gray_lwpCV = cv2.cvtColor(frame_lwpCV, cv2.COLOR_BGR2GRAY) # 转灰度图    frame_data = np.array(gray_lwpCV)  # 每一帧循环存入数组    box_data = frame_data[:, 400:400+rectangleCols] # 取矩形目标区域    pixel_sum = np.sum(box_data, axis=1) # 行求和q    length = len(gray_lwpCV)    x = range(length)    emptyImage = np.zeros((rectangleCols*10, length*2, 3), np.uint8)    for i in x:        cv2.rectangle(emptyImage, (i*2, (rectangleCols-pixel_sum[i]/255)*10), ((i+1)*2, rectangleCols*10), (255, 0, 0), 1)    emptyImage = cv2.resize(emptyImage, (320, 240))    # 画目标区域    lwpCV_box = cv2.rectangle(frame_lwpCV, (400, 0), (430, length), (0, 255, 0), 2)    cv2.imshow('lwpCVWindow', frame_lwpCV) # 显示采集到的视频流    cv2.imshow('sum', emptyImage)  # 显示画出的条形图    key = cv2.waitKey(1) & 0xFF    if key == ord('q'):        breakcamera.release()cv2.destroyAllWindows()

以上就是python环境下OPenCV处理视频流局部区域像素值的详细内容,更多关于OPenCV视频流局部区域像素处理的资料请关注51zixue.net其它相关文章!


TensorFlow卷积神经网络AlexNet实现示例详解
教你用Python读取CSV文件的5种方式
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。