【问题标题】:Content-Aware Image Cropping with C#使用 C# 进行内容感知图像裁剪
【发布时间】:2012-08-24 20:14:48
【问题描述】:

我正在开发一个类似 CMS 的项目,用户可以上传带有内容的图片。我必须即时为上传的图像创建缩略图。假设缩略图大小为 125x75

我可以毫无问题地调整图像大小,但是在裁剪操作方面会出现一些问题。我的调整大小和裁剪过程是这样的:

  1. 加载原始图像。
  2. 根据给定的最大宽度或高度,将图像调整为所需大小,防止原始纵横比保持不变
  3. 如果结果图像的纵横比与输出纵横比不同,则应用居中裁剪操作。

但我想要实现的是内容感知裁剪,如王珏的文章Opticrop: Content-aware Cropping with PHP and ImageMagick中所述

有没有办法用 C# 来做,或者有没有可以做这个操作的库。

注意:我不希望内容感知调整大小。可以使用 ImageResizing.net SeamCarving plugin

进行内容感知大小调整(接缝渴望)

【问题讨论】:

  • 您实际上要求在 asp.net 上移植此函数function opticrop($image, $w, $h, $out, $format),或者换句话说,一个确定边缘中心并在此处裁剪图像的函数。
  • 是的。这正是我正在寻找的。正如您所提到的,我必须找到边缘中心,但是如何?我想我必须自己移植它。

标签: c# asp.net .net image image-processing


【解决方案1】:

如果您使用的是 ImageResizing.net 框架,我认为WhitespaceTrimmer plugin 可能是一个很好的起点。

如果您想自己编写代码,this Gist 显示了使用熵的一个很好的解决方案,但它是用 Ruby 编写的。

【讨论】:

  • 嗯,实际上我无法弄清楚 WhitespaceTrimmer 插件将如何帮助我找到 Aristos 在我的帖子中评论的边缘中心。我对空白没有任何问题。
  • WhitespaceTrimmer 插件使用边缘检测来查找必须删除的图像部分。因为它是开源的,我想你可以看看那里并以此为起点......
猜你喜欢
  • 2011-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-03
  • 2018-02-11
  • 2020-10-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多