首先,什么是WebAssembly?
我需要知道那是什么!
WebAssembly是一种允许在浏览器中执行以非JavaScript语言(如C/C )编写的代码的技术标准,也是在web上执行二进制文件的技术标准。
对前端来说,它支持更多的语言,因此可以创造更多的可能性。 关于后端,配置Opencv和其他C库的合作伙伴知道部署环境有多么复杂,而且对各种库的依赖性很高。
通过该技术方案,Js可以通过在浏览器上简单调用Opencv的函数库,实现人脸识别、数字识别等功能。
Sudukosolver
这是一个Suduko (数独)解算器项目,通过从Rust调用Opencv,Tensorflow的包装器实现实时感知解算。 非常有趣。
在图像中放置数独谜题,解决谜题,并将解决方案恢复为原始图像的步骤
核心步骤:
1、利用自适应阈值函数定位轮廓边缘,生成黑白图像
2、通过提取轮廓,找到作为数独网格的四边形轮廓
3、利用逆透视变换,将放置在旁边的网格渲染成正方形的网格
4、拆除网格线
5、利用卷积神经网络识别数字
6、利用基于Rust语言编写的程序求解数独
use sudoku:Sudoku; //sudokuscanbecreatedfromstr ' sinbothblockorlineformatsordirectlyfrombytes.//here,anexampleineformatletsudoku _ le let sudoku=sudoku :3360 from _ str _ line (sudoku _ line ).unwrap; //Solve,printorconvertthesudokutoanotherformatifletsome (solution )=sudoku.solve_unique )/printthesolution () //orreturnitasabytearrayletcell _ contents : [ u8; 81 )=solution.to_bytes (; ) 7、进行透视变换,将解的数字投影到图像上
至此,涵盖Opencv、tensorflow、Rust、JS等技术的项目已完成并经过最终测试,总体处理时间约为70毫秒。
Docker的共同创始人之一Solomon Hykes在Twitter上这样评价WASI,体现了WebAssembly的价值。
http://www.Sina.com/http://www.Sina.com /
http://www.Sina.com/http://www.Sina.com /
更多