我现在正在学习ImageJ,但我遇到了问题。
首先,我在图像上添加了一个叠加层(在菜单中使用了Image-Overlay-AddImage)。现在我想旋转图像并保持上部叠加作为参考。但是当我使用旋转命令(图像变换旋转)时,叠加层将被删除。
然而,旋转90度(图像变换 - 旋转90度左/右)和平移命令(图像变换 - 平移),此操作很好。这些正是我想要的,保持叠加层保持不变并使原始图像发生变化。
我想知道为什么这些不同,特别是'旋转'然后旋转90度'以及如何正确旋转而不移除叠加层。有人可以帮帮我吗?谢谢!
答案 0 :(得分:0)
观察到的行为是由于不同的代码执行不同的旋转:
图片>变换>向左旋转90度→
ij.plugin.filter.Transformer("left")
图片>变换>向右旋转90度→ij.plugin.filter.Transformer("right")
,而
图片>变换>旋转...... →
ij.plugin.filter.Rotator
(您可以通过按[L]或运行插件>实用程序>查找命令... 然后在搜索中键入旋转来get this information in ImageJ场)
如果您查看ij.plugin.filter.Rotator
class,您会看到它会调用ImageCanvas#setDisplayList(null)
,这会删除当前Overlay
(另请参阅javadoc),即使预览中不显示网格线。
此行为有点不直观,如果您通过mailing list或Fiji's bugzilla进行报告,开发人员可能会更改此行为。