A Shape-Preserving Approach to Image Resizing

Computer Graphics Forum (Pacific Graphics), 28(7), 1897-1906, 2009

Guo-Xin Zhang, Ming-Ming Cheng, Shi-Min Hu, Ralph R. Martin

[PDF] [PPT] [Video] [C++] [Sup] [BIB]

09ResizingPG

Abstract:

We present a novel image resizing method which attempts to ensure that important local regions undergo a geometric similarity transformation, and at the same time, to preserve image edge structure. To accomplish this, we define handles to describe both local regions and image edges, and assign a weight for each handle based on an
importance map for the source image. Inspired by conformal energy, which is widely used in geometry processing,
we construct a novel quadratic distortion energy to measure the shape distortion for each handle. The resizing
result is obtained by minimizing the weighted sum of the quadratic distortion energies of all handles. Compared to
previous methods, our method allows distortion to be diffused better in all directions, and important image edges
are well-preserved. The method is efficient, and offers a closed form solution.

Links to applications:

Our method has been adopted in several famous systems:

  1. Rectangling Panoramic Images via Warping, by Kaiming He, Huiwen Chang, and Jian Sun, in SIGGRAPH 2013
  2. Content-Aware Rotation, by Kaiming He, Huiwen Chang, and Jian Sun, in ICCV 2013
BoYang
游客
BoYang

程老师您好,我最近在学习您的resizing文章并下载了A Shape-Preserving Approach to Image Resizing的代码,编译可以通过但是在Debug至下面这条语句时出错:
if (eg.EvalMatCode(dir, “x = LeastSquareBoundary(A, zeros(size(A, 1), 1), ind, vals);”) != 0)
{
printf(“Error occurred when running code. %s:%s\n”, __FILE__, __LINE__);
}
我想问一下LeastSquareBoundary()这个函数是MATLAB的标准函数吗?我在我的MATLAB2008中找不到这个函数,希望得到您的帮助,非常感谢!

YUWANG
游客
YUWANG

您好!关于找不到 LeastSquareBoundary函数的问题是怎么解决的呢?谢啦!

BoYang
游客
BoYang

程老师您好,我用MATLAB的lsqlin()函数写了一个解约束最小化的函数,现在还在想办法写一个WarpImage()函数进行插值,非常感谢您提供的源码,我从中学到了很多知识和技巧。

zhl
游客
zhl

程老师您好,最近在学习您的resizing文章,我下载了A Shape-Preserving Approach to Image Resizing的代码,在编译里面的项目MatLabLib时,提示缺少文件,比如libeng.lib,libmat.lib,libmx.lib等等,还有无法打开包括文件:“matlab/engine.h”: No such file or directory,是不是项目里文件缺少啊,不知能否补充一下缺少的文件啊,或者发到我邮箱里也行:hengliang_zhu@163.com,非常感谢!

wpDiscuz