如何使用 PHP 的 GD 库对图像执行接缝雕刻?

Posted

技术标签:

【中文标题】如何使用 PHP 的 GD 库对图像执行接缝雕刻?【英文标题】:How to perform seam carving on an image using PHP's GD library? 【发布时间】:2010-09-16 08:53:52 【问题描述】:

我正在开发一个使用 php's GD 库调整图像大小的项目。我希望能够添加使用seam carving 来调整图像大小的选项,但不希望需要ImageMagick(可以使用its liquid rescale feature 进行接缝雕刻)来完成此操作。

由于 GD 中没有内置的接缝雕刻功能,有没有办法使用 PHP 的 GD 库或其他内置的 PHP 函数对图像进行接缝雕刻?或者,你知道缝雕最终会不会被烤成GD?

【问题讨论】:

不能很快,但希望看到它完成! 有一些AS3代码@drawlogic.com/2007/09/04/… 还有一个javascript版本:labs.pimsworld.org/wp-content/uploads/2009/04/… 【参考方案1】:

虽然您可以使用 GD 实现这一点,但如果您可以控制服务器环境,最好的办法是创建一个外部脚本/程序来雕刻图像。 PHP 将成为进行此类计算的巨大瓶颈。即使是基本的矩阵转换也存在达到 PHP 配置中设置的最大执行时间的严重风险。

【讨论】:

【参考方案2】:

我不明白为什么 GD 不应该,但我可以告诉你它会很慢。

Imagemagick 是开源的,所以我想你可以把这个函数翻译成 PHP。

【讨论】:

以上是关于如何使用 PHP 的 GD 库对图像执行接缝雕刻?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PHP 和 GD 制作水印图像,如 envato photodune 预览图像?

如何使用GD在php中特定区域的图像上放置一些文本

如何使用 PHP 和 GD 获取图像资源大小(以字节为单位)?

如何使用 GD 和 PHP 重复水印图像?

如何使用 PHP GD 放大图像?

如何使用 PHP GD 将文本写入不同大小的图像