我发现应用程序名为 https://skinmotion.com/出于学习目的,我想创建我自己的应用程序的网络版本。
Web 应用程序的工作方式如下。它要求用户授予访问相机的权限。之后,视频就被捕获了。每秒从流中获取图像并进行处理。在此过程中,我在图像中寻找声波模式。
如果找到该模式,视频录制将停止并执行某些操作。
模式示例 - https://www.shutterstock.com/cs/image-vector/panorama-mini-earthquake-wave-on-white-788490724 .
理想情况下,它应该像二维码一样工作 - 即使检测到很小的二维码,它也不应该依赖于旋转和缩放。
我不是计算机视觉专家,这个领域对我来说相当新。我需要一些帮助。哪种方法最好?
我应该训练自己的 Tensorflow 数据集并使用 tensorflow.js 吗?或者有更简单、更“轻量级”的选择吗?
我的问题是,我找不到或想出处理捕获的图像以使其尽可能“可比”的算法 - 放大、旋转、白色和黑色的阈值等。
希望经过这次改造,resemble.js可用于比较“原始”和“捕获”图像。
提前谢谢您。
最佳答案
深度学习
如果需要识别某些波浪模式,可以使用tensorfow.js编写分类模型。
但是,如果模型要识别一般的波浪模式,则可能会更复杂。物体检测model是要使用的。
没有深度学习
检测波形并从中播放音频会增加复杂性。在后一种情况下,可以逐字节读取图像。波形图是用与图像背景不同的某种颜色绘制的。可以识别感兴趣的区域,并可以生成表示 wav 形式的数组。
然后要播放数组中的音频,可以如下所示here
关于JavaScript:检测 Canvas 中的形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59359278/