Domanda

Attualmente sto lavorando all'etichettatura del componente connesso. Questo è un processo che scatta un'immagine e ti dice quanti oggetti separati sono nell'immagine.

Il mio problema è che all'inizio devo essere in grado di prendere qualsiasi immagine (specificamente il valore RGB) e convertirlo in 8-bit.

Modifica: Come in letteralmente considerata un 8 bit, dove l'immagine non è più riconosciuta come RGB. Non un'immagine 8bit riconosciuta come un RGB.

C'è un modo usando il codice per farlo automaticamente senza dover entrare nella barra degli strumenti e convertirlo "manualmente"?

Per chiarire, sto programmando per Imagej usando Java.

Se qualcuno è disposto ad aiutarmi, sarei felice di fornirli con il codice che ho finora dove sto facendo una scala di immagine colorata e poi rendendolo binario. Il mio problema è che dopo le modifiche l'immagine è ancora considerata RGB, anche se l'immagine è essenzialmente 8 bit.

Grazie

Modifica: stavo guardando il codice fornito prima e non sembra risolvere il mio problema. Io letteralmente volevo solo rendere il piccolo 'spunta' che è accanto a RGB, sia accanto a 8-bit. Ho già fatto tutta la conversione effettiva da sola, è solo riconosciuta come immagine RGB.

È stato utile?

Soluzione

Si prega di provare:

import ij.ImagePlus;
import ij.process.ImageConverter;

// ...

ImagePlus imp = IJ.getImage();
ImageConverter ic = new ImageConverter(imp);
ic.convertToGray8();
imp.updateAndDraw();
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top