# getsubimage aus BufferedImage und Rueckwandlung in ein ImagePlus bild



## dlambert (22. Jan 2015)

Hallo,
ich habe den unterstehneden Quellcode um ein IamgePlus bild in ein BufferedImage umzuwandeln, dieses Bild dann in 4 subimages unterteilen und wieder zurueck in ImagePlus.
Leider ist diese letzte Rueckwandlung nicht ganz richtig da meine x,y Koordinaten die im subimage definiert werden nicht gelesen werden. dh. bei den ersten beiden klappt es imp21p und imp22p aber nicht bei imp23p und imp24p. Es scheint das nur Subimages  mit der festen hoehe height21 angenommen werden.
Iredenwelche vorschlaege um dieses Problem zu loesen oder anderweitig mein Bild zu unterteilen.
Gruss
Daniel


```
imp2 = new ImagePlus("selected region",imp.getProcessor().crop());
		imp2.setRoi(0,0,imp2.getWidth(),imp2.getHeight());
		int height = (imp2.getHeight());
		int width = imp2.getWidth();
		
		BufferedImage img = imp2.getBufferedImage();
		
		double height21=height*0.25;
		double height22=height*0.5;
		double height23=height*0.75;
		
		BufferedImage imp21=(img).getSubimage(0,0,width, (int) height21);
		BufferedImage imp22=(img).getSubimage(0,(int) height21,width, (int) height21);
		BufferedImage imp23=(img).getSubimage(0,(int) height22,width, (int) height21);
		BufferedImage imp24=(img).getSubimage(0,(int) height23,width, (int) height21);
		
	   imp21p =  new ImagePlus ("New21", imp21);
	   imp21p.setRoi(0,0,imp21p.getWidth(),imp21p.getHeight());
	   imp22p =  new ImagePlus ("New22", imp22);
	   imp22p.setRoi(0,(imp22p.getHeight()-1),imp22p.getWidth(),imp22p.getHeight());
	   imp23p =  new ImagePlus ("New23", imp23);
	   imp23p.setRoi(0,((imp22p.getHeight())*2-1),imp23p.getWidth(),imp23p.getHeight());
	   imp24p =  new ImagePlus ("New24", imp24);
	   imp24p.setRoi(0,((imp24p.getHeight()*3)-1),imp24p.getWidth(),imp24p.getHeight());
```


----------

