Je souhaite appliquer un filtre médian à une image à deux niveaux et générer une image à deux niveaux. Le filtre médian JAI semble produire une image RVB, que j'ai du mal à convertir à deux niveaux.Médian Filtrer une image à deux niveaux avec JAI
même Actuellement je ne peux pas obtenir l'image en arrière couleur gris espace, mon code ressemble à ceci:
BufferedImage src; // contains a bi-level image
ParameterBlock pb = new ParameterBlock();
pb.addSource(src);
pb.add(MedianFilterDescriptor.MEDIAN_MASK_SQUARE);
pb.add(3);
RenderedOp result = JAI.create("MedianFilter", pb);
ParameterBlock pb2 = new ParameterBlock();
pb2.addSource(result);
pb2.add(new double[][]{{0.33, 0.34, 0.33, 0}});
RenderedOp grayResult = JAI.create("BandCombine", pb2);
BufferedImage foo = grayResult.getAsBufferedImage();
Ce code se bloque sur la ligne de grayResult et ne semble pas revenir. Je suppose que je devrai éventuellement appeler l'opération "Binarize" dans JAI. Edit: En fait, le code semble bloquer une fois que j'appelle getAsBufferedImage(), mais revient presque instantanément lorsque la deuxième opération ("BandCombine") est supprimée.
Existe-t-il un meilleur moyen de conserver le filtrage médian dans le domaine de couleurs source? Si non, comment puis-je redescendre en binaire?