Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing ImageMagick中的旋转映射_Image Processing_Imagemagick_Imagemagick Convert_Node Imagemagick - Fatal编程技术网

Image processing ImageMagick中的旋转映射

Image processing ImageMagick中的旋转映射,image-processing,imagemagick,imagemagick-convert,node-imagemagick,Image Processing,Imagemagick,Imagemagick Convert,Node Imagemagick,是否有一种基于ImageMagick中的映射旋转图像的方法? 这个问题类似于置换贴图,但不是基于贴图中的亮度/色度扭曲和变形形状,而是基于贴图旋转图像 例如:如果我有一个图案,然后对其应用色度/亮度贴图形状,它将旋转图案,并根据与中点的亮度/色度差(50%)输出它 像这样: 我的任务是创建一组相当复杂的形状,并分别从色度/亮度的不同角度将图案映射到它们 这是我必须编写的某种自定义插件,还是在IM6中有一种简单的方法可以做到这一点 非常感谢 ImageMagick没有内置的功能,但由于-fx参数

是否有一种基于ImageMagick中的映射旋转图像的方法? 这个问题类似于置换贴图,但不是基于贴图中的亮度/色度扭曲和变形形状,而是基于贴图旋转图像

例如:如果我有一个图案,然后对其应用色度/亮度贴图形状,它将旋转图案,并根据与中点的亮度/色度差(50%)输出它

像这样:

我的任务是创建一组相当复杂的形状,并分别从色度/亮度的不同角度将图案映射到它们

这是我必须编写的某种自定义插件,还是在IM6中有一种简单的方法可以做到这一点


非常感谢

ImageMagick没有内置的功能,但由于
-fx
参数,您可以自己编写。
以下命令将通过应用的遮罩顺时针旋转源图像:

convert input.png rotationmap.png -fx \
'rs=-6.28318531;
p{
    cos(v*rs)*(i-w/2.0)-sin(v*rs)*(j-h/2.0)+w/2.0,
    sin(v*rs)*(i-w/2.0)+cos(v*rs)*(j-h/2.0)+h/2.0
}' output.png
使用
#202020
填充旋转贴图以旋转45度,例如:

hexval = (rotation_deg / 360) * 255

或者做些更愚蠢的事情(其实玩起来很有趣):

注意事项:

  • 抄近路只是无限期地重复
  • 旋转贴图需要与源图像大小相同
  • 没有重新采样,结果可能会变得模糊或尖锐

好建议!知道如何强制重采样吗?@Alex不幸的是,
-fx
参数没有直接重采样,但基本插值是:。我已经测试了一些,
mesh
似乎给出了不错的结果,尽管它们之间的差异非常小。或者,你可以把你自己的插值材料放入公式中。