如何通过Opencv4nodejs实现视频流解析与获取?
本文我们学习一个新的工具,即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

最新活动更多
-
4月29日立即报名>> OFweek 2021人工智能在线大会暨展览会
-
精彩回顾立即查看>> OFweek 2021(第十届)中国机器人产业大会暨年度评选颁奖典礼
-
即日-4.30限时下载>> ADI精选白皮书 传感器应用指南
-
6月9-11日>>立即报名 CTIS消费者科技及创新展览会
-
9月28-30日立即报名>> 2021 全球数字经济产业大会
-
精彩回顾立即查看>> OFweek 2021(第十届)中国机器人产业大会暨年度评选颁奖典礼
-
10 金山云:将云长跑进行到底
- 机械工程师(人工智能方向) 广州极飞科技有限公司
- 人工智能算法工程师(图像) 北京寻宝天行网络技术有限公司
- 人工智能AI算法工程师/AI智能机器人训练师/AI训练师 大连隆基信息技术有限公司
- 人工智能工程师 江苏达海智能系统股份有限公司
- 人工智能云平台运维开发工程师 上海机颖智能科技有限公司
- 人工智能软件工程师 凯吉凯精密电子技术开发(苏州)有限公司
- 销售工程师(人工智能物联网) 上海逻迅信息科技有限公司
- 资深算法工程师_人工智能方向 北京君正集成电路股份有限公司
- 人工智能+银行贷款+销售 苏州苏众达商务信息咨询有限公司
- 人工智能算法工程师 深圳市超准视觉科技有限公司
- DQE经理 广东省/深圳市
- 业务员 广东省/深圳市
- 业务经理 广东省/深圳市
- 电子工程师 广东省/深圳市
- 嵌入式/单片机软件工程师 广东省/深圳市
- 嵌入式软件工程师(ARM) 山东省/潍坊市
- 光学工程师 山东省/潍坊市
- Linux嵌入式软件工程师 浙江省/杭州市
- 研发项目经理 浙江省/杭州市
- CTO 浙江省/杭州市
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论