Ich bin neu bei openCV und Python.Ich möchte die Gesamtzahl der schwarzen Pixel pro Zeile und pro Spalte eines Bildes berechnen.Kann jemand einen Tipp oder Hilfe geben?Berechnung der Anzahl der schwarzen Pixel pro Zeile und Spalte eines Bildes
-2
A
Antwort
1
Wie Miki vorschlägt, können Sie cv2.reduce
nutzen.
numpy.where
Verwenden einer Maske enthält1
wo ein schwarzes Pixel war, und für jede andere0
Intensität zu erzeugen.Jetzt zweimal (einmal pro Achse)
cv2.reduce
aufrufen,REDUCE_SUM
ausführen und den Ausgabedatentyp auf eine 32-Bit-Ganzzahl setzen.
Code:
import cv2
import numpy as np
# Make random image
img = np.zeros((128,128),np.uint8)
cv2.randu(img, 0, 256)
mask = np.uint8(np.where(img == 0, 1, 0))
col_counts = cv2.reduce(mask, 0, cv2.REDUCE_SUM, dtype=cv2.CV_32SC1)
row_counts = cv2.reduce(mask, 1, cv2.REDUCE_SUM, dtype=cv2.CV_32SC1)
print "Column counts: ", col_counts.flatten().tolist()
print "Row counts: ", row_counts.flatten().tolist()
Beispielausgabe:
Column counts: [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 2, 1, 1, 1, 0, 2, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 2, 0, 1, 1, 1, 0, 0, 2, 1, 3, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 0, 1, 0, 0, 0, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1]
Row counts: [0, 0, 1, 0, 0, 0, 2, 1, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 2, 0, 0, 0, 1, 1, 2, 2, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 2, 1, 1, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 2]
1
Here können Sie countNonZero
Funktion finden, die nicht-Null Elemente in einem Array zählt, in Ihrem Fall wird es eine Zeile oder eine Spalte sein.
cv2.countNonZero(src) → retval
PS: Diese Funktion wird die Anzahl der nicht schwarzer Pixel zurückkehrt, alles, was Sie zu tun haben, ist diese Zahl von der Anzahl der Pixel subtrahieren (Auflösung oder Zeile * cols).
Verwandte Themen
- 1. berechnen die Anzahl der Pixel in einer Zeile und Spalte
- 2. Berechnung der Anzahl der blauen Pixel in einem Bild
- 3. Negativer Wert bei der Berechnung der Varianz eines Bildes -java-
- 4. Anzahl der eindeutigen Werte pro Zeile zählen
- 5. Tensorflow effiziente pro-Pixel-Gradienten-Berechnung
- 6. Anzahl der Zeichenvorkommen pro Zeile zählen
- 7. Anzahl der Schaltflächen pro Zeile begrenzen
- 8. Anzahl der eindeutigen Werte pro Spalte Gruppe
- 9. PDF Berechnung der Höhe und Breite eines gezeichneten Bildes
- 10. C++ - Anzahl der Bits pro Pixel aus BMP-Datei lesen
- 11. Erhöhung der Anzahl der Anzahl pro Sekunde?
- 12. Berechnung der Anzahl der Punkte innerhalb eines bestimmten Radius
- 13. Anzahl Funktion pro Zeile
- 14. Berechnung der Anzahl neuer ID-Nummern pro Monat in Powerpivot
- 15. Berechnung der Anzahl der Kombinationen
- 16. Histogramm eines Bildes aber ohne Berücksichtigung der ersten k Pixel
- 17. Berechnung der Anzahl der Pizzas benötigt und Scheiben übrig
- 18. Berechnung der Anzahl der Vorkommen in Excel
- 19. Kann Caffe Pixel eines Bildes direkt klassifizieren?
- 20. WooCommerce - Ändern der Anzahl der Produktkategorien pro Zeile
- 21. Welches ist der richtige Weg, um die Anzahl der Punkte eines Bildes zu berechnen?
- 22. , wie die nächste Zeile der vorherigen Zeile der Spalte Wert verwenden Spalte Wert für die Berechnung
- 23. Steuern der Anzahl der Pixel beim Scrollen
- 24. iOS: Looping über die Pixel eines Bildes
- 25. Hinzufügen eines Bildes in Abhängigkeit von der Berechnung
- 26. Anzahl der Zeilen pro Stunde
- 27. Indexieren eines PIL-Bildes
- 28. Ermitteln der Skalierung in Metern pro Pixel
- 29. PHP MySQL Summe Spalte der verbundenen Tabelle pro Zeile Werte
- 30. SQL Query Berechnung Spalte pro Zustand Durchschnitt
Was Sie schon versucht haben? – Mazz
Hinweis: Verwenden Sie "reduzieren" – Miki