2个控制点的Shephard Distortion扭曲整个图像 - ImageMagick Iphone sdk

时间:2011-08-09 10:52:54

标签: iphone objective-c image image-processing imagemagick

我正在尝试在iPhone中实现Shephards失真。 以下是我的代码:

const double ctrlPts[8] = {125,200 ,150,150, 255,150, 150, 150};
const size_t q = 8;
MagickDistortImage(magick_wand, ShepardsDistortion , q, ctrlPts, MagickFalse);

以下是我的结果

First One是原始图像,第二个是扭曲图像。

Original Image Distorted Image

我只想将一个像素移动到其他位置。 我无法弄清楚我在哪里弄错了。

我试图从此给出多点和自由形式的扭曲 link

1 个答案:

答案 0 :(得分:1)

是否仅仅是因为你将图像轻微拖入中心并且它不能放入间隙?

尝试设置要修复的角落:

const double ctrlPts[24] = {
  // Points to move
  125,200 ,150,150, 255,150, 150, 150,

  // Points to fix
  0,0,0,0,   320,0,320,0,   320,460,320,460,    0,460,0,460
};