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
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
Java:
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());
Zuletzt bearbeitet von einem Moderator: