Ciao a tutti ragazzi, volevo chiedervi aiuto per quanto riguardo l'applicazione del Contrast Stretch in una PlanarImage. Per ora il programma permette di caricare una cartella contenenti delle immagini...le ridimensiona...le porta in scala di grigi e ora dovrei applicargli il contrast strech.. Attraverso l'operatore "extrema" della jai riesco a ricavare valore min e max delle immagini...
codice:Image inImage = new ImageIcon(f.getAbsolutePath(), f.getName()).getImage(); int maxDim = 110; double scale = (double) maxDim / (double) inImage.getHeight(null); if (inImage.getWidth(null) > inImage.getHeight(null)) { scale = (double) maxDim / (double) inImage.getWidth(null); } int scaledW = (int) (scale * inImage.getWidth(null)); int scaledH = (int) (scale * inImage.getHeight(null)); Image img = inImage.getScaledInstance(scaledW , scaledH, Image.SCALE_SMOOTH); //Grayscale images Image filtered = Toolkit.getDefaultToolkit().createImage(new FilteredImageSource(img.getSource(), new GrayscaleImageFilter())); ParameterBlock pb = new ParameterBlock(); pb.add(filtered); PlanarImage img_gray = JAI.create("awtImage", pb); ParameterBlock pbMaxMin = new ParameterBlock(); pbMaxMin.addSource(img_gray); RenderedOp extremaOp = JAI.create("extrema", pbMaxMin); // Get the extrema of all bands ! double[] allMins = (double[])extremaOp.getProperty("minimum"); double[] allMaxs = (double[])extremaOp.getProperty("maximum"); for(int b=0;b<allMins.length;b++) System.out.println("Band "+b+" values are between "+allMins[b]+" and "+allMaxs[b]); //COntrast Stretch ??

Rispondi quotando