使用ImageJ调整图像大小并裁剪图像

vto*_*c85 2 java image 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");
Run Code Online (Sandbox Code Playgroud)

不幸的是,新创建的文件与原始文件完全相同.

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

谢谢.

Jan*_*ger 6

Stefan Helfrich在那里回答在ImageJ论坛上的交叉问题:

如果您查看ImageProcessorJavadocs,您将看到它resize()以及crop()返回新ImageProcessor实例并且不进行操作this.这就是为什么你必须使用该ImagePlus.setProcessor(ImageProcessor)方法将返回的ImageProcessors添加到ip1ip2.


当像这样交叉发布时,请始终包含其他帖子的链接,以便稍后发现此问题的人将有机会关注讨论.