如何通过Opencv4nodejs实现视频流解析与获取?
如何通过Opencv4nodejs实现视频流解析与获取?本文我们学习一个新的工具,即Opencv4nodejs。它不是基于python的OpenCV,而是基于nodejs的Open
本文我们学习一个新的工具,即Opencv4nodejs。它不是基于python的OpenCV,而是基于nodejs的OpenCV。OpenCV在计算机视觉应用中起到至关重要的作用,我们可以使用Opencv4nodejs在web应用中应用OpenCV,实现各种应用,包括人脸检测、人脸标记检测、人脸识别,甚至深度神经网络的目标识别等等…
本文,我们将获取摄像头并将其放入节点应用程序中,然后使用Express node js和Socket IO托管它。在深入研究opencv4nodejs的人工智能部分之前,让我们先看一下实现的基本步骤。步骤:导入所需的库。从本地计算机捕获视频源。获取视频源并将其流格式传输到web应用程序中。创建一个基本的html文件或创建一个EJS模板。
在客户端使用Socket IO库将客户端连接到本地主机或任何网络让客户收听该图像并对其进行编码为framesPerSecond设置一个常量值
第一步:这里是必需的库Opencv4nodejsExpresshttpSocket IOPath如图所示导入它们
第二步:现在我们需要从本地机器上获取视频,
你们可以看到这看起来不像python代码!
第三步:获取视频源并使用适当的时间间隔将其流式传输到web应用程序中,即我们将对任何正在收听我们服务器的人进行公开广播。这也是我们的服务器端。
我们已经获得了视频捕获和编码的图像。我们之所以要编码,是因为所有被捕获的图像都是以矩阵格式读取的,这也是我们需要将它们编码为base64的主要原因,然后该字符串将通过万能的Socket IO进行广播。服务器端所需的所有设置都已完成,接下来实现客户端。
第四步:
对于客户端,没有创建一个普通的HTML文件,而是创建了一个EJS模板,如果你要执行git repo,请按照GitHub(https://github.com/narenltk)进行操作,我提供了在执行git克隆时如何使用它的必要步骤。
第五步:现在在客户端已经下载Socket IO库,即使用链接:https://cdnjs.com/libraries/socket.io
第六步:将客户端连接到具有指定端口的本地主机,或者像我所做的那样让它侦听任何网络。你可以参考上面的图片。
第七步:现在需要我们的客户就可以收听到这个图像并按图示进行编码,
第八步:现在我们所要做的就是为framesPerSecond设置一个常量值,你还可以更改它并从中获得不同的效果。可以尝试使framesPerSecond=10并将其更改为50,然后使其为100,你可以看到不同的输出结果。在这个项目中,如果你启动服务器,相机将开始运行,你不需要做转换,它会给你一个正常的相机源,而不是镜像源。
尽情享受OpenCV4nodejs …如果你想用ngrok托管它,可以看我在GitHub中给出的步骤。https://github.com/narenltk
参考:https://www.npmjs.com/package/opencv4nodejs
-
捷视飞通政务视频会议荣获2020-2021年度信创优秀解决方案奖项2021-03-31
-
如何利用OpenCV为Python中的图像提供卡通效果?2021-03-31
-
利用Python免费看VIP视频的实现原理2021-03-26
-
语音会议衰落,会畅通讯转型云视频,新业务能否做好?2021-03-20
-
5G+海信超声,图像穿越300多公里宛在眼前2021-03-19
-
黑龙江医保局全国首创视频远程服务获央视点赞 5G视频或赋能更多行业2021-03-19
-
选对了硬盘,才能让你的视频剪辑电脑如虎添翼2021-03-02
-
视频搜索崛起,搜索引擎会成为过去时吗?2021-02-20
-
海信电视、短视频平台等大小屏互动引关注,山东春晚科技感十足2021-02-13
-
广东省超高清视频创新中心助力AVS3 8K超高清频道成功开播2021-02-02
-
智能电视将全面普及AV1视频解码2021-01-29
-
排版系统TinyTeX的从“零”开始的最全安装步骤2021-01-28
-
Zoom、Google、微软… 谁才是视频通话老大?2021-01-25
-
SVG转换在SVG图像中创建的形状2021-01-11
-
卷积神经网络:解决图像分类、语义分割或机器翻译问题2021-01-07