2017-04-19 119 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"); 

残念ながら、新しく作成されたファイルは元のファイルと同じです。

Btw、今まで私はどのようにぼかし、滑らかな、反転、翻訳、回転...が見つかりましたこれらの2つは私に苦労しています。誰もがアイデアを持っていますか?

ありがとうございました。

+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()'メソッドを使用しています。 'imgP1'と' imgP2'ではなく 'ImageProcessor'インスタンスでなければなりません。私はEclipseを使用しており、構文エラーはありませんでした。私はコピー&貼り付け中に間違いを犯しました。 – vtomic85

答えて

4

あなたcross-posted question to the ImageJ forumはステファン・ヘルフリッヒによってそこに答えた:

あなたはJavadocs for ImageProcessorで見てみる場合は、resize()だけでなく、crop()が新しいImageProcessorインスタンスを返すとthis上で動作しないことがわかります。そのため、返されたImageProcessorsをip1ip2に追加するには、ImagePlus.setProcessor(ImageProcessor)メソッドを使用する必要があります。後でこの質問を見つけるの人々が議論をフォローする機会を持つことになりますので、


は、このようなクロスポストは、常に、他の記事へのリンクを含めてくださいとき。

+0

ええ、念頭に置いて。ありがとう:) – vtomic85

関連する問題