我编写了一些代码,以通过1000+帧图像序列自动跟踪许多对象。对象边界和中心由我的算法在XML中输出。我正在制作一个网站来炫耀自己的结果,我想拥有一个可通行的幻灯片,并具有正常的播放,暂停,前进,倒带功能。我目前有一个php-javascript圆形框架队列设置。它通过拥有10帧包含图像1-10的工作来起作用,然后当用户想要查看图像2时,将视图和加载图像11加载到框架1等。这种圆形队列样式非常适合正常滚动,但是我想每100毫秒更改图像,然后陷入困境。在这方面有更好的方法吗?

我的主要速度来源是,我的图像是从包含大量数据点的XML文件中动态绘制在GD中的。我使用的是file_get_contents和Simplexmlelement函数将数据输入数组,然后使用ImagePolygon在图像上绘制它们。有更好的方法吗?

每个图像约为1400 x 900,在其中有30-500个对象,具体取决于其距离序列的距离。我尝试过存储物理绘制的图像,但是由于用户需要能够隔离对象1-10或3,7,8-11,因此由于排列的数量,这是不可能的。

有帮助吗?

解决方案

我将抛出几个头脑风暴类型的想法:

  1. 将对象边界绘制为相对位置的DIV,并设置高度和宽度集。这样,您不必为每种可能组合生成图像。可以为页面上的任何给定对象打开对象跟踪。缺点是,较慢的客户可以缓慢渲染500个DIV。

  2. 减少飞行呈现的另一种方法 - 在透明背景(png或gif)上作为多边形渲染(一次)对每个对象的所有跟踪帧。查看框架时,将所有适当的对象跟踪框架上的所有适当的对象在背景层上层。没有渲染问题,仅在客户加载500张图像时,只有负载延迟。

  3. 与其每次解析XML文件,不如创建一个PHP数组,其中包含所有数据点。

  4. 为您的服务器获取更快的处理器和大量RAM。

就像我说的 - 随机的想法。也许他们让您思考,也许他们只是让我想想的有趣。祝你好运。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top