Trouver des bords avec ImageJ par programmation
je veux utiliser l'option find edges du ImageJ , avoir le tableau edges-found et l'enregistrer dans un autre fichier de façon programmatique.
ImagePlus ip1 = IJ.openImage("myimage.jpg");
ImageProcessor ip = new ColorProcessor(ip1.getWidth(), ip1.getHeight());
ip.findEdges();
cependant, la fonction findEdges est abstraite et je ne peux pas avoir l'image de bord-trouvé.
EDIT:
j'ai écrit les lignes suivantes:
ip.findEdges();
BufferedImage bimg = ip.getBufferedImage();
cependant, quand j'essaie d'imprimer sur les valeurs RGB du BufferedImage, il n'imprime que "-16777216" pour chaque pixel rgb.
2
demandé sur
İsmet Alkan
2012-05-18 16:23:07
2 réponses
OK, j'ai eu la solution, le problème était que je n'ai pas relié le Colorprocesseur avec l'image.
ColorProcessor ip = new ColorProcessor(ImageIO.read(new File("my_image.jpg")));
ip.findEdges();
BufferedImage bimg = ip.getBufferedImage();
2
répondu
İsmet Alkan
2014-10-10 08:09:16
ImageProcessor est une classe abstraite, qui permet aux classes dérivées de fournir l'implémentation appropriée. Vous devez déclarer ip
comme type ColorProcessor
:
ColorProcessor ip = new ColorProcessor(ip1.getWidth(), ip1.getHeight());
ip.findEdges();
0
répondu
Attila
2012-05-18 12:32:24