【问题标题】:ImageMagick v7 distortionImageMagick v7 失真
【发布时间】:2020-05-21 10:58:50
【问题描述】:

我一直在我的 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 中,他们从根本上改变了处理命令行的方式,如 https://imagemagick.org/script/command-line-processing.php 中所述。

于是我尝试重新学习如何处理V7中的失真校正,发现索引页面https://imagemagick.org/index.php链接到V6帮助https://imagemagick.org/Usage/distorts/所以无法使用!!!

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

【问题讨论】:

  • 呃!你为什么要这样做呢???这很丑陋。有什么原因吗?
  • 丑为什么?我必须纠正两个方向的桶形畸变,纠正一个小的方向错误,最后纠正一点透视:它是由显微镜获得的图像,光学元件有一些错位......
  • 您可以删除所有出现的MIFF:- | convert -,它仍然可以工作。当您已经在内存中拥有图像时,您不必要地通过管道编写每个处理阶段并启动一个新进程来读取它!这是一个对一张图片做几件事的例子stackoverflow.com/a/28109569/2836621
  • 如果你必须纠正桶形失真,你为什么不使用-distort桶。见imagemagick.org/Usage/distorts/#barrel
  • 非常感谢@MarkSetchell,它大大简化了我的linux命令——它运行良好!

标签: image-processing imagemagick distortion


【解决方案1】:

如果您提供输入和输出图像应该是什么样子的示例,并且如果您告诉我您的 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,但我相信它使用插入符号 (^) 作为行继续符,并且我相信它对单引号中的参数非常不满意。如果有人知道不同,请ping我。

【讨论】:

  • 是的,该命令将在 Windows 中运行除了-virtual-pixel Gray +distort Plane2Cylinder 50”行末尾的插入符号后有一个空格。删除那个空间。此外,如果它通过各种扭曲使用相同的设置,它应该只需要一个虚拟像素设置。
  • @GeeMack 很好,谢谢。我想我已经按照您的建议进行了所有更正。
  • 谢谢@MarkSetchell,我现在正在测试它...你能解释一下(V7语法对我来说仍然模糊)为什么有些参数是+distort和一些@987654326 @ ?
  • 我不确定我可以在关于扭曲的文档中添加什么 imagemagick.org/script/command-line-options.php#distort 如果您有任何具体问题,我怀疑 @GeeMack 是该领域的专家。
  • 使用“-distort”操作不会改变视口的尺寸。将“+distort”与“+”一起使用会修改视口以适应扭曲的结果。有几个例外情况,改变/不改变视口尺寸是没有意义的。
猜你喜欢
  • 2016-08-10
  • 1970-01-01
  • 2011-12-31
  • 1970-01-01
  • 2012-08-29
  • 1970-01-01
  • 2019-12-06
  • 2015-02-25
  • 2013-05-11
相关资源
最近更新 更多