如何解决如何编写脚本解析器以执行可视脚本应用程序的C ++函数?
简介
我正在为OpenCv开发可视化脚本Web应用程序。它基于litegraph.js框架,该框架基本上是一个网格画布,用户可以在其中生成列表中的不同节点,每个节点执行不同的功能。每个节点都有输入和输出,这些输入和输出可以相互连接,以可视脚本的形式描述过程。
要使此功能与OpenCv一起使用,我选择了几个不同的OpenCv函数,并为每个函数创建了节点。我可以在这里停下来,使用OpenCv.js在javascript中完全实现功能,但这意味着客户端必须执行所有处理,这在我的情况下是不希望的。
总体思路
因此,我的解决方案是用户在浏览器中构造可视脚本,然后将其发送回服务器。然后,服务器解析脚本,并从用于OpenCv的自定义预编译包装库中调用相应的C ++函数。 (服务器本身也是用C ++编写的)
当前状态
我的脚本应用程序当前的工作方式是这样的:每个节点将其输入数据发送到服务器,服务器运行C ++函数并将结果返回给该节点,该节点又将其输出传递给下一个节点,依此类推,直到该过程为止完成。
但是,客户端和服务器之间来回的这种恒定效率非常低,并且在处理大图像的情况下也非常慢。
我对解决方案的想法
用某种脚本记录所有节点以及它们如何相互连接,并仅在用户按下播放按钮时将其发送到服务器。然后,服务器仅在需要时或将结果显示在浏览器中时才发回结果。现在这是我被困住的地方。
我应该使用哪种格式的脚本(XML-Tree?)?我将如何在C ++中解析这样的脚本?解析器应该能够调用一个函数,等待它的结果并将它们传递给脚本中的下一个函数。但是由于它可以是任何类型的函数,并且可以具有任何类型的变量,所以我迷失在如何开始解决此问题的迷上。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。