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

2个控制点的Shephard失真会扭曲整个图像-ImageMagick Iphone sdk,iphone,objective-c,image,image-processing,imagemagick,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); 下面是我的结果 第一个是原始图像,第二个是畸变图像 我只想把一个像素移到另一个位置。 我不知道我在

我试图在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);
下面是我的结果

第一个是原始图像,第二个是畸变图像


我只想把一个像素移到另一个位置。 我不知道我在哪里犯了错误

我试图从这个角度给出多点和自由形式的扭曲

这仅仅是因为您将图像稍微拖到中间,而它不知道该在间隙中放置什么

尝试设置要固定的角点:

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
};

你能澄清一下你所说的“我只想把一个像素移到另一个位置”是什么意思吗?我只想把一个像素从一个点移到另一个点。在结果图像中,您可以看到一列像素被移动,因此图像被扭曲。我只想移动一个像素,而不是那个列。你能发布更多的代码,让别人更容易尝试吗?酷,这很有效<代码>0,0,0,0320,0,320460320,**460**,0460,0460一个参数不匹配..谢谢@Dimple Panchal-修复:)谢谢@Matt M-修复:)(看起来我键入的有点太快了!)谢谢。。。它是固定的。然而,所形成的图像并非我所期望的,因此再次移动到openGL…:(拉伸后,图像在该部分变得模糊…预计不会进行此操作。)。。