2017-04-19 885 views
1

我試圖調整大小並使用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

回答

4

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

如果你看一看的Javadocs for ImageProcessor你會看到resize()以及crop()回報新ImageProcessor情況下,不上this操作。這就是爲什麼您必須使用ImagePlus.setProcessor(ImageProcessor)方法將返回的ImageProcessors添加到ip1ip2


當這樣的交叉發佈,請始終包括鏈接到其他崗位,所以後來人們發現這個問題將有機會跟隨討論。

+0

是的,我會保留心裏。謝謝 :) – vtomic85