Domanda

Qualcuno ha idea di come posso implementarti?Mi piacerebbe avere una funzione fondamentalmente come impoliata in Matlab o lo strumento "Sezioni poligono" in Imagej, dove si fa clic per formare una sezione poligonale e quindi ciascun nodo può essere regolato, ecc. Vorrei anche avere accessoA questa funzione da QT da quando sto cercando di fare una GUI per un piccolo programma che ho scritto.

Inoltre, vorrei evitare di effettuare chiamate alla funzione MATLAB perché fa parte della casella degli strumenti di elaborazione delle immagini che non è libera.Grazie.

È stato utile?

Soluzione

Penso che avresti bisogno di codice te stesso. C'è un esempio eccellente in programmazione GUI C ++ con QT 4 Book (c'è Una copia PDF galleggiante in giro online; Penso che sia legale) dove ti mostrino come creare un diagramma con nodi e collegamenti. Il capitolo si chiama "rendering basato su oggetti con vista grafica".

L'idea di base è che hai alcuni nodi trascinabili, che sono qgraphicsitems < / A> Con il flag ItemIsMovable impostato su true, quindi alcuni collegamenti che li collegano, che sono QGraphicsLinetems . Tutti questi entreranno in un qgraphicsitem composito che rappresentano il ROI, e tutti coloro sarebbero entrati in un QGraphicsscene , che verrebbe visualizzato da un qgraphicsview .

Bottom line: non c'è una copia integrata della funzione MATLAB, ma tutti gli strumenti sono lì per te.

Altri suggerimenti

Penso che il modo migliore per implementare questo stia utilizzando il quadro di visualizzazione grafica QT. Crea una scena con un elemento che visualizza la tua immagine nella parte posteriore e aggiungi elementi trascinabili in alto che rappresentano gli angoli del tuo poligono.

Il tuo strumento di selezione dovrebbe probabilmente essere una sottoclasse di qGraphicsObject che ospita gli angoli poligonali come articoli per bambini e un qgraphicspolygonitem sotto gli angoli che vengono aggiornati ogni volta che l'utente ha riadatto la selezione. Mentre qGraphicsObject eredita qobject, è possibile emettere segnali con un argomento Qpolygonf o qpolygon ogni volta che la selezione cambia, informando altre parti della tua applicazione

Questa demo dovrebbe essere un buon esempio della funzionalità di regolazione dell'angolo di cui hai bisogno.

qt pathstroke demo

(UH Bene, l'esempio implementa il disegno e trascinando i punti di controllo da zero .. Sono sicuro che puoi farlo usando qGraphicsellipseitem e reagire sulle loro modifiche alla posizione)

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