Vorrei estrarre i colori più utilizzati all'interno di un'immagine, o almeno i toni primari Mi può consigliare come posso iniziare con questa attività? o indicarmi un codice simile? L'ho cercato ma non ho avuto successo.estrazione di colori da un'immagine
risposta
È possibile ottenere risultati molto buoni utilizzando un Octree Color Quantization algorithm. Altri algoritmi di quantizzazione possono essere trovati su Wikipedia.
Questo è esattamente quello che stavo cercando! Grazie mille! – biquillo
potresti inviare codice di esempio nell'obiettivo c – dineshprasanna
@dineshprasanna, no non posso. Se Google non può aiutarti, potrebbe essere necessario scriverne uno utilizzando le informazioni fornite al link. –
Concordo con i commenti: una soluzione di programmazione avrebbe sicuramente bisogno di più informazioni. Ma fino ad allora, supponendo che otterrai i valori RGB di ogni pixel dell'immagine, dovresti considerare lo HSV colorspace dove si può dire che la tonalità rappresenti il "tono" di ciascun pixel. È quindi possibile utilizzare un histogram per identificare i toni più utilizzati nell'immagine.
NB per "HSV colorspace" è più probabile che tu dica "HSV-mode RGB model" - HSV (e la sua gemella fraterna HSL) sono distorsioni di un RGB color _model_; praticamente chiunque si riferisca a un modello RGB (o, erroneamente, uno "spazio cromatico RGB") si occupi di rappresentazioni di valori nello spazio _CIE-XYZ'39 color_. Non provi a filtrare specificatamente la tua risposta, ma lì vai. – fish2000
Bene, presumo che sia possibile accedere a ciascun colore RGB di ogni pixel. Ci sono due modi in cui puoi farlo a seconda di come lo vuoi.
Per prima cosa è sufficiente creare alcuni di tutti i pixel R, G e B. In questo modo.
Uno pseudo codice.
int Red = 0;
int Green = 0;
int Blue = 0;
foreach (Pixels as aPixel) {
Red += aPixel.getRed();
Green += aPixel.getGreen();
Blue += aPixel.getBlue();
}
Quindi vedere quale è di più.
Questo ti dà solo l'immagine è più rossa, verde o blu.
Un altro modo consente di ottenere anche il colore combinato statico (come l'arancione) semplicemente creando l'istogramma di ciascuna combinazione RGB.
Uno pseudo codice.
Map ColorCounts = new();
foreach (Pixels as aPixel) {
const aRGB = aPixel.getRGB();
var aCount = ColorCounts.get(aRGB);
aCount++;
ColorCounts.put(aRGB, aCount);
}
Quindi vedere quale ha più conteggio. Puoi anche ridurre la risoluzione del colore come una normale colorazione RGB ti darà fino a 6,7 milioni di colori.
Questo può essere fatto facilmente dato l'RGB a intervalli di colore. Ad esempio, diciamo, RGB è 8 passi non 256.
Uno pseudo codice.
function Reduce(Color) {
return (Color/32)*32; // 32 is 256/8 as for 8 ranges.
}
function ReduceRGB(RGB) {
return new RGB(Reduce(RGB.getRed()),Reduce(RGB.getGreen() Reduce(RGB.getBlue()));
}
Map ColorCounts = new();
foreach (Pixels as aPixel) {
const aRGB = ReduceRGB(aPixel.getRGB());
var aCount = ColorCounts.get(aRGB);
aCount++;
ColorCounts.put(aRGB, aCount);
}
Quindi è possibile vedere quale intervallo ha il maggior numero.
Spero che questa tecnica abbia senso per voi.
Bello! grazie mille, davvero utile! – biquillo
- 1. Tempo di estrazione da POSIXct
- 2. Tabella di estrazione da DOCX
- 3. Estrazione di stderr da pexpect
- 4. Estrazione EXIF da JPEG
- 5. Estrazione rgb da UIColor
- 6. Estrazione caratteri da stringa
- 7. Estrazione di layout di tastiera da windows
- 8. estrazione di proprietà da NSArray di oggetti
- 9. C# ottenere tutti i colori da colori
- 10. C# estrazione dati da XML
- 11. estrazione di giorni da un valore numpy.timedelta64
- 12. Estrazione di stringhe statiche da un'espressione regolare
- 13. Estrazione di titoli da file PDF?
- 14. Estrazione di pennini/xib da storyboard (iOS)
- 15. Estrazione di dati da MS Word
- 16. Estrazione di frame da MP4/FLV?
- 17. Estrazione di cluster da clustermap Seaborn
- 18. Estrazione di feature da reti neurali
- 19. MongoDB estrazione di valori da BasicDBObject (Java)
- 20. Estrazione di cifre da un float C++
- 21. Estrazione di testo da PDF in C#
- 22. Schema di estrazione e host da HTTP_REFERER
- 23. estrazione iMacros da una serie di dati
- 24. Generazione di combinazioni di colori da un'immagine
- 25. Estrazione * immagine pertinente * da una pagina Web
- 26. Estrazione numeri decimali da una stringa
- 27. router Php, estrazione chiavi da uri
- 28. Estrazione del testo da HTML Java
- 29. Estrazione uscite da lapply ad un dataframe
- 30. Estrazione grafica vettoriale da pdf con Inkscape
Con quale linguaggio o struttura stai lavorando? – jheddings
La risposta dipenderà molto dal tuo ambiente. –
Beh, stavo pensando di elaborare solo per una dimostrazione di concetto e poi tradurlo in python per il batching – biquillo