Есть ли в Plane2Cylinder варианты искажения imageMagick для создания изображения, подобного приведенному ниже?
Когда я использовал искажение 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);
ОБНОВЛЕНИЕ: для скрипта Фреда я использовал команду ниже
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
Ниже мое модифицированное изображение.
1 ответ
Больше комментарий, чем ответ.
Похоже, что для аргументов искажения установлено только значение поля зрения (100), но отсутствуют центральные значения X & Y.
Plane2Cylinder - это только половина необходимого искажения. Объект (кружка) не является идеальным цилиндром, поэтому потребуется дополнительное незначительное искажение (возможно, Перспектива), чтобы соответствовать достаточному шагу.