Ok, quindi ho un istogramma (rappresentato da una serie di ints), e sto cercando il modo migliore per trovare massimi e minimi locali. Ogni istogramma dovrebbe avere 3 picchi, uno di questi (il primo) probabilmente molto più alto degli altri.Ricerca dei massimi/picchi e dei minimi/valli degli istogrammi locali
voglio fare diverse cose:
trovare il primo "valle" dopo il primo picco (al fine di sbarazzarsi del primo picco del tutto nella foto)
Trova il valore ottimale "valle" tra i due picchi rimanenti per separare l'immagine
So già come eseguire il passaggio 2 implementando una variante di Otsu. Ma ho difficoltà con il passaggio 1
Nel caso in cui la valle tra i due picchi rimanenti non sia sufficientemente bassa, vorrei dare un avvertimento.
Inoltre, l'immagine è abbastanza pulito con poco rumore per tenere conto di
Quali sarebbero gli algoritmi brute-force per fare punti 1 e 3? Potrei trovare un modo per implementare Otsu, ma la forza bruta mi sta sfuggendo, in termini di matematica. A quanto pare, c'è più documentazione sul fare metodi come otsu, e meno sulla semplice ricerca di picchi e valli. Non sto cercando nulla di più di quello che fa il lavoro (cioè è una soluzione temporanea, deve essere implementabile in un lasso di tempo ragionevole, finché non posso passare più tempo)
Sto facendo tutto questo in C#
Qualsiasi aiuto su quali passi prendere sarebbe apprezzato! Grazie mille!
EDIT: alcuni dati di più:
più istogramma sono suscettibili di essere come il primo, con il primo picco corrispondente sfondo.
Potrebbe dare alcuni dati di esempio per favore? – ose
L'area attorno alle cime sembra distribuita normalmente? Potresti ad es. Adatta tre distribuzioni normali indipendenti ai tuoi dati. Quindi puoi utilizzare la deviazione standard per decidere i punti di interruzione per identificare i tuoi picchi e le valli. – Andreas
Che dire dell'uso di un k-significa Algortihm con k = 3 per ottenere 3 diversi cluster? Ogni centroide dovrebbe corrispondere a uno dei picchi, se le cose vanno bene. – Reinhard