Image processing ImageMagick v7失真

Image processing ImageMagick v7失真,image-processing,imagemagick,distortion,Image Processing,Imagemagick,Distortion,我已经在我的linux机器上安装了ImageMagickV6,并且最近设置了此命令以处理扭曲的图像: convert ref_25X.tif -virtual-pixel Gray +distort Plane2Cylinder 60 MIFF:- | \ convert - -rotate 90 MIFF:- | \ convert - -virtual-pixel Gray +distort Plane2Cylinder 50 MIFF:- | \ convert - -rotate -9

我已经在我的linux机器上安装了ImageMagickV6,并且最近设置了此命令以处理扭曲的图像:

convert ref_25X.tif -virtual-pixel Gray +distort Plane2Cylinder 60 MIFF:- | \
convert - -rotate 90 MIFF:- | \
convert - -virtual-pixel Gray +distort Plane2Cylinder 50 MIFF:- | \ 
convert - -rotate -92 MIFF:- | \
convert - -distort Perspective '10,10 10,10 10,1000 10,1000 1280,10 1280,30 1280,1000 1280,980' MIFF:- | \
convert - -shave 80x100 plane1.png
由于最终的应用程序将在windows机器上运行,因此我将其复制到那里,以发现在该机器上安装的版本是IMv7。在v7中,他们彻底改变了处理命令行的方式,如中所述

因此,我尝试重新学习如何在V7中处理失真校正,并发现索引页面链接到V6帮助,因此无法使用


有人能告诉我如何在IMv7中处理这个问题吗?

如果您提供一个输入和输出图像应该是什么样子的示例,并且如果您告诉我您的Windows框中出现了什么错误,我将首先尝试并改进它:

magick ref_25X.tif -virtual-pixel Gray ^
   +distort Plane2Cylinder 60.         ^
   -rotate 90                          ^
   +distort Plane2Cylinder 50          ^
   -rotate -92                         ^
   -distort Perspective "10,10 10,10 10,1000 10,1000 1280,10 1280,30 1280,1000 1280,980" ^
   -shave 80x100 plane1.png

我不使用Windows,但我相信它使用插入符号(
^
)作为行继续符,我相信它对单引号中的参数感到非常不满意。如果有人知道不同的,请告诉我。

啊!你为什么这么做???非常难看。有什么原因吗?为什么?我必须纠正沿两个方向的桶形失真,纠正一个小的错误方向,最后纠正一点透视:这是一个由显微镜采集的图像,光学系统中有一些错位……您可能可以删除所有出现的
MIFF:-|convert-
,它仍然可以工作。不管怎么说,当你已经在内存中有了图像时,你不需要通过管道写入处理的每个阶段,并开始一个新的进程来读取它!下面是一个对一个图像执行多个操作的示例,如果您必须校正桶形失真,为什么不使用-扭曲桶形失真。非常感谢@MarkSetchell,它简化了很多我的linux命令-它工作得非常好!是的,该命令将在Windows中工作,除非“
-virtual pixel Gray+extract Plane2Cylinder 50
”行末尾的插入符号后面有一个空格。删除该空间。此外,如果它在各种变形中使用相同的设置,它应该只需要一个虚拟像素设置。@GeeMack很好,谢谢。我想我已经按照你的建议做了所有的修改。谢谢MarkSetchell,我在路上做测试。你能解释一下(V7语法对我来说还不清楚)为什么有些参数是
+扭曲
和一些
-扭曲
?如果你有任何具体的问题,我不确定我能在扭曲文档中添加什么,我怀疑@GeeMack是该领域的专家。使用“-textrad”该操作不会更改视口的尺寸。将“+扭曲”与“+”一起使用可修改视口以适应扭曲的结果。有几个例外情况是,更改/不更改视口尺寸是没有意义的。