使用ImageJ调整图像大小并裁剪图像
问题描述:
我试图调整大小并使用ImageJ裁剪图像。这里是代码:使用ImageJ调整图像大小并裁剪图像
ImagePlus ip1 = IJ.openImage("_Pic.jpg");
ImagePlus ip2 = IJ.openImage("_Pic.jpg");
ImageProcessor imgP1 = ip1.getProcessor();
ImageProcessor imgP2 = ip2.getProcessor();
FileSaver fs1 = new FileSaver(ip1);
FileSaver fs2 = new FileSaver(ip2);
/* Trying to resize */
imgP12.resize(100); // also tried with width and height
fs12.saveAsJpeg("Resized.jpg");
/* Trying to crop */
imgP13.setRoi(100, 100, 200, 200);
imgP13.crop();
fs13.saveAsJpeg("Cropped.jpg");
不幸的是,新创建的文件与原来的文件是相同的。
顺便说一句,到目前为止,我已经发现如何模糊,平滑,反转,平移,旋转......但这两个给我很难。任何人有想法?
谢谢。
答
你cross-posted question to the ImageJ forum由斯特凡赫尔弗里希回答有:
如果你看一看的Javadocs for ImageProcessor你会看到
resize()
以及crop()
回报新ImageProcessor
情况下,不上this
操作。这就是为什么您必须使用ImagePlus.setProcessor(ImageProcessor)
方法将返回的ImageProcessors添加到ip1
和ip2
。
当这样的交叉发布,请始终包括链接到其他岗位,所以后来人们发现这个问题将有机会跟随讨论。
+0
是的,我会保留心里。谢谢 :) – vtomic85
你的例子有很多问题。 'ImagePlus'类不存在'resize()'方法。未定义'imgP12'和'imgP13'。等等......我建议在开发Java代码时使用像[Eclipse](http://imagej.net/Developing_ImageJ_in_Eclipse)这样的IDE。另外,看看[Javadoc](http://javadoc.imagej.net/ImageJ1/)。最后,对于ImageJ特定的问题,最好在[ImageJ论坛](http://forum.imagej.net/)上提问。 –
@JanEglinger感谢您的评论。我以某种方式犯了一个错误......我在'imgP12'和'imgP13'上使用'resize()'方法,它应该是'ImageProcessor'实例(而不是'imgP1'和'imgP2')。我使用的是Eclipse,没有语法错误,我只在复制和粘贴时犯了错误。 – vtomic85