首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >OpenCV3计算机视觉——处理文件、摄像头

OpenCV3计算机视觉——处理文件、摄像头

原创
作者头像
用户7180691
修改于 2020-04-10 02:13:16
修改于 2020-04-10 02:13:16
7210
举报

img=np.zeros((3,3),dtype=np.uint8)

# print(img.shape)

img=cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)

print(img.shape)

import cv2

import numpy as np

import os

randomByteArray=bytearray(os.urandom(120))

print(randomByteArray)

flatNumpyArray=np.array(randomByteArray)

print(flatNumpyArray)

grayImage=flatNumpyArray.reshape(300,400)

cv2.imwrite('RandomGray.png',grayImage)

bgrImage=flatNumpyArray.reshape(100,400,3)

cv2.imwrite('RandomColor.png',bgrImage)

import cv2

import numpy as np

img=cv2.imread('cat.jpg')

img[0,0]=[255,255,255]

cv2.imshow('img',img)

cv2.waitKey(0)

cv2.destroyAllWindows()

print(img.item(150,120,0))

img.itemset((150,120,0),255)

print(img.item(150,120,0))

img[:,:,2]=-2

cv2.imshow('img',img)

cv2.waitKey(0)

cv2.destroyAllWindows()

my_roi=img[0:100,0:100]

img[300:400,300:400]=my_roi

cv2.imshow('img',img)

cv2.waitKey(0)

cv2.destroyAllWindows()

print(img.shape)

print(img.size)

print(img.dtype)

import cv2

videoCapture=cv2.VideoCapture('test.avi')

#得到视频的帧率

fps=videoCapture.get(cv2.CAP_PROP_FPS)

#得到视频的宽和高

size=(int(videoCapture.get(cv2.CAP_PROP_FRAME_WIDTH)),int(videoCapture.get(cv2.CAP_PROP_FRAME_HEIGHT)))

#创建视频流写入对象,VideoWriter_fourcc为视频编解码器,fps为帧播放速率,size为视频帧大小

videoWiter=cv2.VideoWriter('MyOutputVid.avi',cv2.VideoWriter_fourcc('I','4','2','0'),fps,size)

#fourcc意为四字符代码(Four-Character Codes),顾名思义,该编码由四个字符组成,下面是VideoWriter_fourcc对象一些常用的参数,注意:字符顺序不能弄混

#cv2.VideoWriter_fourcc('I', '4', '2', '0'),该参数是YUV编码类型,文件名后缀为.avi

#cv2.VideoWriter_fourcc('P', 'I', 'M', 'I'),该参数是MPEG-1编码类型,文件名后缀为.avi

#cv2.VideoWriter_fourcc('X', 'V', 'I', 'D'),该参数是MPEG-4编码类型,文件名后缀为.avi

#cv2.VideoWriter_fourcc('T', 'H', 'E', 'O'),该参数是Ogg Vorbis,文件名后缀为.ogv

#cv2.VideoWriter_fourcc('F', 'L', 'V', '1'),该参数是Flash视频,文件名后缀为.flv

success,frame=videoCapture.read()

while success:

videoWiter.write(frame)

success,frame=videoCapture.read()

#以上是书上的代码

cv2.imshow('capture', frame)

#等候50ms,播放下一帧,或者按q键退出

if cv2.waitKey(50) &0xFF ==ord('q'):

break

#释放视频流

videoCapture.release()

#关闭所有窗口

cv2.destroyAllWindows()

import cv2

cameraCapture=cv2.VideoCapture(0)

#设置视频的帧率,网上在线的视频一般都是30帧,所以设置fps为30

fps=30 #an assumption

#得到视频的宽和高

size=(int(cameraCapture.get(cv2.CAP_PROP_FRAME_WIDTH)),int(cameraCapture.get(cv2.CAP_PROP_FRAME_HEIGHT)))

#创建视频流写入对象,VideoWriter_fourcc为视频编解码器,fps为帧播放速率,size为视频帧大小

videoWiter=cv2.VideoWriter('MyOutputVid.avi',cv2.VideoWriter_fourcc('I','4','2','0'),fps,size)

success,frame=cameraCapture.read()

#该程序是摄像头捕获的10秒的视频,所以帧数为10*fps-1

numFrameRemaining=10*fps-1

while success and numFrameRemaining>0:

videoWiter.write(frame)

success,frame=cameraCapture.read()

numFrameRemaining-=1

cameraCapture.release()

学习过程中有疑问但已解决的问题:

帧率:每秒显示帧数(Frames per Second,简:FPS)或“赫兹”(Hz)。

疑问:

这两个语句到底有什么区别?搞不懂
这两个语句到底有什么区别?搞不懂

解决啦!第一句就是在while前调用一下,以便读取第一帧,判断视频是否读取成功,后面是在while循环里不断的读取后续的帧,相当于读一帧写一帧。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
[微服务]BPMN和微服务编排,流程语言,引擎和永恒模式(第1部分)
我们正在构建Zeebe作为下一代工作流引擎,用于新兴用例,例如微服务编排用例,这些用例可能需要引擎每秒处理数十万(或数百万)个新工作流实例。
架构师研究会
2019/05/06
3.4K0
[微服务]BPMN和微服务编排,流程语言,引擎和永恒模式(第1部分)
一文读懂微服务编排利器—Zeebe
导语 | 微服务架构的一大核心是把大的复杂的业务系统拆分成高内聚的微服务,每个服务负责相对独立的逻辑。服务拆分的好处无需赘述,但是要实现业务价值,不是看单个服务的能力,而是要协调所有服务保证企业端到端业务流的成功。那么,谁来负责端到端业务流的成功呢?在调研工作流引擎的过程中,笔者了解到微服务编排模式及微服务编排引擎Zeebe,可以很好的回答这个问题。文章作者:唐炯,腾讯CSIG研发工程师。 一、工作流与微服务编排 1. 工作流 提到工作流,印象里都是OA系统各种请假审批流。事实上,广义上的工作流是
腾讯云开发者
2021/03/25
6.5K1
微服务——选择的架构
微服务体系结构与更传统的单块开发风格的区别在于必须做出的选择的数量。您将使用哪些框架(如果有的话)?如何处理配置,编制或编排等等。它可能觉得不知所措。在这篇文章中,我将给你一些建议如何处理这个架构的选
程序你好
2018/07/23
4620
微服务——选择的架构
为什么选择工作流引擎?三大主流引擎优缺点剖析
工作流引擎是一种软件系统,用于自动化、管理和监控业务流程的逻辑执行。它通过预定义的规则和流程模型,协调任务在不同角色、系统之间的流转,确保流程按既定路径高效完成。其核心功能包括:
没事学点编程小知识
2025/03/04
4751
为什么选择工作流引擎?三大主流引擎优缺点剖析
「首席架构师推荐」工作流引擎哪家强?首席架构帮你挑
原文:https://github.com/meirwah/awesome-workflow-engines
架构师研究会
2019/09/25
4.7K0
「首席架构师推荐」工作流引擎哪家强?首席架构帮你挑
微服务中数据CQRS操作的事务处理
本文的主要主题是描述如何使用事件源(event sourcing)和CQRS将事件驱动的体系结构与微服务集成。
程序你好
2019/03/08
1.3K0
云原生时代的业务流程编排
既然今天要聊一聊云原生时代的业务流程编排,那咱们首先得定义什么是流程编排以及传统的流程编排是做什么的。传统的流程编排一般分两类:bussiness process management(BPM 业务流程管理)和 workflow engine (工作流引擎),在过去十几年里,商业领域主要是以BPM为主,软件服务厂商以平台化的产品为企业客户提供流程设计、流程管理、流程自动化相关的能力。
jesseai
2020/02/22
15.5K5
云原生时代的业务流程编排
工作流引擎技术方案<初版>
Vue Flow(核心) + Dagre(布局) + Vuedraggable(拖拽) + Vue 3 Composition API(架构)
舒一笑不秃头
2025/06/25
2050
工作流引擎技术方案<初版>
分布式微服务流程编排简介
微服务的流程编排将成为下一个要解决的大问题。在撰写本文时,有几种解决方案试图在该领域竞争,主要是构建自己的(文本)领域特定语言来描述业务流程。在我看来,编排应该改为在BPMN 2.x中表达,因为它是为此目的而精心设计的,易于理解且成熟的语言。
lyb-geek
2019/11/20
1.7K0
微服务的创建和管理最常见问题是什么?
如果你不正确地划分责任,你就会遇到问题。将任何应用程序应用到分布式系统中。想想你可能会遇到的问题。管理数据和管理状态是许多人在管理有状态和无状态数据时遇到问题的地方。考虑事件驱动的命令和数据通信,以构建最好的体系结构。
程序你好
2018/12/05
8310
golang办公工作流workflow js-ojus/flow包介绍——系列一
golang办公工作流workflow利用js-ojus/flow做测试——系列二
hotqin888
2022/05/07
2.3K0
微服务数据一致性的演进:SAGA,CQRS,Event Sourcing的由来和局限
原题:Data consistency in microservices architecture
yuanyi928
2018/11/30
2.5K0
微服务数据一致性的演进:SAGA,CQRS,Event Sourcing的由来和局限
「首席架构师推荐」精选的开源工作流引擎列表,
原文:https://github.com/meirwah/awesome-workflow-engines
架构师研究会
2019/09/25
2.8K0
「首席架构师推荐」精选的开源工作流引擎列表,
微服务体系结构——学习、构建和部署应用程序
更好地理解微服务架构,并举例这种架构好处,以及Uber如何将它们的单体应用变成微型服务。
程序你好
2018/07/23
5850
微服务编排之道
目录: 一、微服务需要编排吗? 二、微服务编排的流程 三、微服务编排的一致性 四、微服务编排的监控工具支撑 一、微服务需要编排吗? 微服务是一种新的软件架构风格。在微服务体系结构中,可以将应用分解为多
yuanyi928
2018/03/30
6.8K1
微服务编排之道
没有工作流是孤岛
Dapr 的统一 API 和模式,包括跨语言和框架的工作流,解放了开发者面对碎片化技术的困扰。
云云众生s
2024/03/28
1930
没有工作流是孤岛
golang语言的办公工作流的包
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/details/78822774
hotqin888
2018/09/11
2.4K0
如何从传统单体架构转向微服务
当今,把单体架构的应用拆成微型服务是很时髦的。让我想起了2000年世纪初的那些日子,那时SOA正在流行,大多数公司,供应商和系统集成商,正忙着挥动SOA魔杖,希望它能将他们的遗留应用程序转变为更加灵活和敏捷的SOA应用程序。一个供应商甚至说,“使用SOA,您不需要编写一行代码“。不幸的是,事实却根本不是这样。虽然他们的大肆宣传,努力去做,结果却不美好。虽然服务的概念还不错,但是SOA具有强类型的服务定义,并且在HTTP上使用SOAP非常麻烦。这些缺点似于谚语中所说的“当你有一个新的闪亮的锤子时,一切看起来都像钉子”,这就是SOA的末日。
程序你好
2018/05/24
2.1K0
如何从传统单体架构转向微服务
企业级BPM之微服务架构演进
BPM平台在各行业的IT架构中都是重要的基础支撑平台,十二五期间,企业级BPM作为SOA体系下的关键组件,经历了一个加速建设的过程。我们也有幸参与了一些行业的流程平台建设,今天与大家分享我们在流程引擎
yuanyi928
2018/04/02
2.7K0
企业级BPM之微服务架构演进
事件驱动微服务体系架构
如果您是一名企业架构师,您可能听说过微服务架构,并使用过它。虽然您过去可能使用REST作为服务通信层,但是越来越多的项目正在转向事件驱动的体系结构。让我们深入了解这种流行架构的优缺点、它所包含的一些关键设计选择以及常见的反模式。
程序你好
2019/11/06
1.7K0
推荐阅读
相关推荐
[微服务]BPMN和微服务编排,流程语言,引擎和永恒模式(第1部分)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档