我正在尝试使用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)
不幸的是,新创建的文件与原始文件完全相同.
顺便说一句,到目前为止,我已经发现了如何模糊,平滑,反转,平移,旋转...但这两个给我带来了困难.有人有想法吗?
谢谢.
Stefan Helfrich在那里回答了你在ImageJ论坛上的交叉问题:
如果您查看ImageProcessor的Javadocs,您将看到它
resize()以及crop()返回新ImageProcessor实例并且不进行操作this.这就是为什么你必须使用该ImagePlus.setProcessor(ImageProcessor)方法将返回的ImageProcessors添加到ip1和ip2.
当像这样交叉发布时,请始终包含其他帖子的链接,以便稍后发现此问题的人将有机会关注讨论.
| 归档时间: |
|
| 查看次数: |
2933 次 |
| 最近记录: |