问题
When I used Plane2Cylinder distortion I got Image like below. But I want the effect like second image. Please go through my code.
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);
UPDATE: for fred's script I used below command
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
Below is my modified image.
回答1:
More of a comment than an answer.
Looks like the distortion arguments only has field-of-view value set (100), but is missing the center X & Y values.
Plane2Cylinder is only half of the distortion needed. The subject (mug) is not a perfect cylinder, so an additional slight-distortion (perhaps Perspective) will need to be applied to match the suffice pitch.
来源:https://stackoverflow.com/questions/43390624/is-there-a-options-in-plane2cylinder-distort-of-imagemagick-to-make-a-image-like