Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CVE-2024-21893:Ivanti Connect Secure SSRF to RCE
Ivanti Connect Secure 为远程和移动用户提供了一个无缝的、具有成本效益的SSL VPN 解决方案,使他们能随时随地从任何可上网的设备访问企业资源。
Timeline Sec
2024/03/26
1.9K0
CVE-2024-21893:Ivanti Connect Secure SSRF to RCE
【实战篇】从mssql注入到上线CobaltStrike
//inetpub文件夹是IIS(Internet Information Services)中Windows站点的根。
一名白帽的成长史
2021/04/08
3.2K0
复习 - MSSQL注入
MSSQL MSSQL和MySQL注入类似,但在数据结构特定函数名称上存在差异。且MSSQL与Windows平台的高契合度,使其可以使用Windows身份验证,导致其运行权限较高,若没有对权限进行限制,当存在SQL注入时,所造成的后果一般比MySQL更严重。 靶场地址:墨者学院 - SQL手工注入漏洞测试(Sql Server数据库) 信息收集 -- 查询版本 select @@VERSION select * from Users where id='1' and @@VERSION like '%14%
Naraku
2021/07/29
2.4K0
【权限提升】六种数据库提权&口令获取
通过webshell查看phpmyadmin中配置文件(confiug.default.php)获取数据库账号密码
没事就要多学习
2024/07/18
3300
【权限提升】六种数据库提权&口令获取
腾讯安全威胁情报中心推出2024年9月必修安全漏洞清单
所谓必修漏洞,就是运维人员必须修复、不可拖延、影响范围较广的漏洞,被黑客利用并发生入侵事件后,会造成十分严重的后果。
安全攻防团队
2024/10/21
4851
腾讯安全威胁情报中心推出2024年9月必修安全漏洞清单
干货 | MSSQL注入和漏洞利用姿势总结
Microsoft SQL Server 是微软开发的关系型数据库管理系统。作为数据库服务器,它是一种软件产品,主要功能是根据其他软件应用程序的请求存储和检索数据,这些应用程序可以在同一台计算机上运行,也可以在网络(包括 Internet)上的另一台计算机上运行。SQL Server 默认开放的端口是 TCP 1433。
HACK学习
2023/01/03
7.7K0
干货 | MSSQL注入和漏洞利用姿势总结
经验分享 | mssql注入实战总结之狠快准绕
—-ctf.show
F12sec
2022/09/29
1.8K0
经验分享 | mssql注入实战总结之狠快准绕
SQL注入攻防入门详解
毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机会接触相关开发……必须的各种借口。这几天把sql注入的相关知识整理了下,希望大家多多提意见。 (对于sql注入的攻防,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避免后知后觉的犯下大错,专门查看大量前辈们的心得,这方面的资料颇多,将其精简出自己觉得重要的,就成了该文) 下面的程序方案是采用 ASP.NET + MSSQL,其他技术在设置上会有少许不同。 示例程序下载:
前朝楚水
2018/04/03
2.7K0
SQL注入攻防入门详解
从 SQL Server 注入到 getshell
当时是查看网页源代码,有两个可疑接口,一个是初始化密码借口,访问返回空白页面,没有什么用
重生信息安全
2020/03/06
7.5K1
数据库安全之MSSQL渗透
本篇文章是MSSQL数据库漏洞提权复现记录,记录了实际中常见的MSSQL数据库漏洞并如何利用,对漏洞底层的原理简单分析,主要分为五个部分:MSSQL简介、MSSQL各版本安装、MSSQL基本操作、MSSQL漏洞复现提权和自建内网环境实战。 本篇文章由浅入深地介绍了系统存储过程控制不当导致提权如sp_oacreate和sp_oamethod、扩展存储过程使用不当提权如xp_cmdshell和xp_regwrite、沙盒提权及映像劫持。在学习MSSQL过程中也阅读了几十篇中英文MSSQL相关技术文章,最终按照作
FB客服
2023/03/30
7.1K0
数据库安全之MSSQL渗透
渗透怎么学?渗透测试中超全的提权思路来了!
提权Webshell:尽量能够获取webshell,如果获取不到webshell可以在有文件上传的地方上传反弹shell脚本;或者利用漏洞(系统漏洞,服务器漏洞,第三方软件漏洞,数据库漏洞)来获取shell。
雨笋教育
2021/08/02
1.7K0
渗透怎么学?渗透测试中超全的提权思路来了!
数据库的一些注入技巧-sqlserver
SELECT * FROM Users WHERE username = '' OR 1=1 --' AND password ='';
Jumbo
2019/11/05
7160
【漏洞复现】泛微e-cology9 WorkflowServiceXml SQL注入漏洞
泛微协同管理应用平台e-cology是一套兼具企业信息门户、知识文档管理、工作流程管理、人力资源管理、客户关系管理、项目管理、财务管理、资产管理、供应链管理、数据中心功能的企业大型协同管理平台。
没事就要多学习
2024/07/18
1.2K0
【漏洞复现】泛微e-cology9 WorkflowServiceXml SQL注入漏洞
一文了解提权:溢出提权和第三方组件提权
SUID可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID提权的思路就是运行root用户所拥有的SUID的文件,那么我们运行该文件的时候就得获得root用户的身份了
中龙技术
2022/09/29
1.9K0
一文了解提权:溢出提权和第三方组件提权
sql注入技术大总结
1 union select 1,group_concat(table_name) from information_schema.tables where table_schema =database()# 从所有的表里边找到这个库名里不重复的表名
黑战士
2024/04/13
3450
一个人的武林:内网渗透测试思路(二)
写在前面 跟web渗透(上一篇)不同,内网渗透需要更多的随机性和突破口,情况较为复杂,遇到障碍,有时可以换种思路突破,很多时候则无奈的只能止步于此。下面分享一些自己总结的内网渗透经验。主要是以windows下的操作为主。 0×01 斗转星移 (在拿到webshell的时候,想办法获取系统信息拿到系统权限) 一、通过常规web渗透,已经拿到webshell。那么接下来作重要的就是探测系统信息,提权,针对windows想办法开启远程桌面连接,针对linux想办法使用反弹shell来本地连接。 ① Webshel
FB客服
2018/02/05
2.6K0
一个人的武林:内网渗透测试思路(二)
注入学习1:SQL注入语句大全
之前做了xss预防,以及些许的注入预防了,但是不够全面,如果还是搜集了下一些常用的注入手段,以此用来进行更好的预防.
@坤的
2018/09/21
4.7K0
【漏洞复现】泛微E-Cology9 WorkPlanService 前台SQL注入
泛微E-Cology9 是泛微网络科技股份有限公司开发的一款高效、灵活、全面的企业信息化办公系统。 泛微E-Cology9 中的 /services/WorkPlanService 接口存在SQL注入漏洞,攻击者可构造SOAP 请求进行SQL注入,窃取或修改数据库敏感信息,进一步利用可能获取目标系统权限。
没事就要多学习
2024/08/11
1.4K0
【漏洞复现】泛微E-Cology9 WorkPlanService 前台SQL注入
CVE-2020-0646:SharePoint中的远程代码执行漏洞分析
2019年11月份,安全研究人员在微软SharePoint Online的工作流中发现了一个代码注入漏洞,并将其上报给微软公司。攻击者一旦成功利用该漏洞,将能够在目标系统中实现远程代码执行。微软在获取到漏洞信息之后,第一时间修复了在线平台上的相关漏洞,但是却到2020年的1月份才修复.NET Framework中的相关问题。因此,如果你的SharePoint On-Rremise版本没有安装2020年1月份的.NET补丁,那你将仍然会受到该漏洞的影响。
FB客服
2020/03/03
2K0
SQL Server命令执行方式汇总
学习内网基础时发现对Mssql的命令执行不太熟悉,因此进行了简单总结,希望对正在学习此类知识的师傅有所帮助。
用户9691112
2023/05/18
1.7K0
SQL Server命令执行方式汇总
推荐阅读
相关推荐
CVE-2024-21893:Ivanti Connect Secure SSRF to RCE
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档