使用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"); 

不幸的是,新创建的文件与原来的文件是相同的。

顺便说一句,到目前为止,我已经发现如何模糊,平滑,反转,平移,旋转......但这两个给我很难。任何人有想法?

谢谢。

+0

你的例子有很多问题。 '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/)上提问。 –

+0

@JanEglinger感谢您的评论。我以某种方式犯了一个错误......我在'imgP12'和'imgP13'上使用'resize()'方法,它应该是'ImageProcessor'实例(而不是'imgP1'和'imgP2')。我使用的是Eclipse,没有语法错误,我只在复制和粘贴时犯了错误。 – vtomic85

cross-posted question to the ImageJ forum由斯特凡赫尔弗里希回答有:

如果你看一看的Javadocs for ImageProcessor你会看到resize()以及crop()回报新ImageProcessor情况下,不上this操作。这就是为什么您必须使用ImagePlus.setProcessor(ImageProcessor)方法将返回的ImageProcessors添加到ip1ip2


当这样的交叉发布,请始终包括链接到其他岗位,所以后来人们发现这个问题将有机会跟随讨论。

+0

是的,我会保留心里。谢谢 :) – vtomic85

圈作物:https://youtu.be/OyiOFh1pD3k

调整大小:https://youtu.be/N_jddMMhzqc

结合了代码。

+0

谢谢,但这些视频都没有关于ImageJ功能的任何信息... – vtomic85