当我使用 Plane2Cylinder 失真时,我得到了如下图所示的图像。但我想要第二张图片的效果。请检查我的代码。
local nelem = 1 -- number of args
local arg = ffi.new("const double[?]", nelem, {100})
-- local methos = ffi.new("const int", 15)
return handle_result(self, lib.MagickDistortImage(self.wand,13, nelem, arg, 1))
ffi.cdef([[ typedef void MagickWand;
typedef void PixelWand;
MagickBooleanType MagickDistortImage(MagickWand *wand, DistortMethod method, const size_t, const double *args, const MagickBooleanType bestfit);
更新: 对于 fred 的脚本,我在命令下面使用了
bash -x ./cylinderize.sh -m vertical -r 366.34955984688 -l 188.179 -w 16.6667 -p 23.428692808745 -n 96.097053534591 -e 1.75 -a 0 -v background -b none -f none -o -86-80.8315 single_color.png single_color.j.png
下面是我修改后的图片。
最佳答案
更多的是评论而不是答案。
看起来失真参数只设置了视野值 (100),但缺少中心 X 和 Y 值。
Plane2Cylinder 只是所需失真的一半。主体(杯子)不是完美的圆柱体,因此需要应用额外的轻微变形(可能是透视)以匹配足够的间距。
关于c - imageMagick 的 Plane2Cylinder 扭曲中是否有一个选项可以制作如下所示的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43390624/