图像处理 – 在Web服务器上绘制带有扭曲三角形的图像

场景

我当前项目的Flash前端生成Web服务器需要组合成视频的图像.帧速率和帧分辨率都足够大,以至于将图像序列发送到后端是不可行的(在时间和客户端带宽中).相反,我们也试图在后端重新创建图像.

正确和缓慢,或不正确和快速

问题是这涉及到相当多的绘制纹理三角形,我们在Python(herethere)中找到的两个解决方案效率很低,每帧绘图大约需要60秒,因此处理时间高达7.5小时30秒剪辑的时间.不能接受的.

当使用PHP模块向ImageMagick发送命令进行图像处理时,整个过程超快(每帧十分之一秒),但ImageMagick seems to be unable to draw triangles就像我们在前端那样做,所以最终结果不匹配.不能接受的.

在这里问的是,是否有人知道如何解决这个问题,通过任何必要的方式在Web服务器上运行.

扭曲图像

让我来解释一下前端的过程:

>对图像中的点执行delaunay计算,以获得均匀分布的三角形网格.
>偏移网格中的点/顶点,扭曲或扭曲图像.
>在新位图上绘制扭曲的三角形.

我们可以将步骤1和2的结果(坐标)发送到后端,然后绘制扭曲的三角形并将其保存到磁盘上的图像(或作为帧添加到视频中).但最后一步是我需要帮助的.

问题

ImageMagick有替代方法可以在位图中绘制三角形吗?是否有其他库,如C库,可以让我们这样做?或者我们可以通过切换后端技术(如Ruby)来更轻松地实现这一效果吗? (不幸的是,.Net和Java现在不是真正的选择)

非常感谢. EP.

附:我很感激重新标记的努力,我不太清楚这个问题上的标签.谢谢!

解决方法

Opencv是一个支持多种图像变形和合成的c库.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些