我想编写一个网页应用程序(html+css+javaScript),当在带有摄像头的设备上运行时(例如手机),应该能够使用此摄像头作为条形码扫描仪。我知道有条形码阅读器库,但我想尝试编写自己的扫描仪。(因为我想详细了解其工作原理。)
加载网页应用程序后,用户应允许应用程序使用摄像头。但之后所有其他操作都应该无需用户交互,即允许使用摄像头后不需要点击任何按钮。用户的下一个任务是将相机对准条形码,直到按下完成按钮或关闭浏览器。但在扫描过程中,不需要点击任何内容。
我的应用程序应频繁从摄像机视频流中进行拍摄。这样的快照并不意味着要显示出来(用户可以直接观看来自摄像头的视频流),也不意味着需要存储在任何地方。它必须作为位图在JavaScript中可用,即一个二维数组,其中该数组中的每个项目都包含单个像素的RGB值。
当脚本接收到这样的数组时,它会分析它并尝试识别条形码。如果成功识别出一个代码,则将该代码发送到服务器。然后应该拍摄下一个快照。如果未找到代码,则应拍摄新的快照。这将一直重复,直到用户停止扫描。
额外需要:
我不需要相机能够看到的整个屏幕区域。我只需要一个小的矩形裁剪(例如640x320像素)。
我知道您可以使用此HTML片段将视频上传到服务器。
<form action="server.cgi" method="post" enctype="multipart/form-data">
<input type="file" name="video" accept="video/*" capture>
<input type="submit" value="Upload">
</form>
但是我不知道这如何帮助我解决我的问题。你能帮忙吗?
(我不知道是否有区别,但我使用jQuery。)