我正在尝试使用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 */
imgP1.resize(100); // also tried with width and height
fs1.saveAsJpeg("Resized.jpg");
/* Trying to crop */
imgP2.setRoi(100, 100, 200, 200);
imgP2.crop();
fs2.saveAsJpeg("Cropped.jpg");不幸的是,新创建的文件与原始文件相同。
到目前为止,我已经找到了如何模糊,平滑,倒转,平移,旋转,.但这两种方法给我带来了困难。有人有主意吗?
发布于 2017-04-28 08:50:11
Stefan Helfrich在那里回答了您的在ImageJ论坛上的交叉提问:
如果您查看用于ImageProcessor的Javadocs,您将看到
resize()和crop()都返回新的ImageProcessor实例,并且不对this进行操作。这就是为什么您必须使用ImagePlus.setProcessor(ImageProcessor)方法将返回的ImageProcessors添加到ip1和ip2中。
当这样的交叉张贴时,请始终包括到其他帖子的链接,所以人们发现这个问题以后将有机会跟踪讨论。
发布于 2017-04-24 08:43:39
https://stackoverflow.com/questions/43499204
复制相似问题