Gnuplot, OpenCv. Display un istogramma da cv :: mat
-
27-10-2019 - |
Domanda
È possibile tracciare una matrice (istogramma) come [V (1); ...; V (I-1); V (i)] in gnuplot. Questa è l'output standard con stringstream << cv :: mat (). Questi sono i valori y per i valori di tonalità da 0 a 180.
[25; 0; 0; 0; 0; 0; 1; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 4; 0; 0; 0; 5; 0; 0; 0; 0; 0; 16; 0; 0; 0; 0; 0; 3; 0; 0; 0; 4; 0; 10; 0; 0; 1; 0; 0; 4; 0; 37; 3; 3; 0; 0; 11; 10; 7; 0; 0; 47; 0; 0; 16; 0; 18; 91; 8; 41; 34; 101; 22; 15; 149; 223; 45; 94; 25; 0; 312; 745; 53; 28; 166; 413; 253; 47; 682; 144; 63; 630; 48; 92; 222; 3; 253; 175; 1; 62; 7; 1; 80; 0; 40; 9; 0; 1; 0; 0; 2; 12; 0; 0; 0; 9; 1; 0; 0; 0; 0; 2; 0; 0; 0; 0; 0; 5; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 7; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0]
Una breve guida su come presentare i dati per Gnuplot sarebbe bello.
Soluzione
Hai diverse scelte (1) Usa il wrapper Gnuplot-CPP (scarica qui: http://code.google.com/p/gnuplot-cpp/) Questo si guiderà attraverso il suo tutorial/documenti
(2) Soluzione semplice. Salva i tuoi valori in un file, diciamo "data.txt", quindi invoca, da CPP (comando Exec), uno script come "Plot.plt" che assomiglia a:
#!/usr/bin/gnuplot -persist
set terminal postscript
set output "TXTFILE.ps"
unset key
#set title "Titel"
set xlabel "cy/px"
set ylabel "SFR"
(...)
set grid
plot "DATA.txt" using 1:2 smooth csplines w l ls 1,\
"DATA.txt" using 3:4 smooth csplines w l ls 2
# EOF
Come puoi vedere, traccerà il data.txt che hai fatto semplicemente output. Usa Google per tutti i precedenti sugli script Gnuplot Fe