zählt die Anzahl der schwarzen Pixel in einem Bild in Python, OpenCV
Habe ich die folgenden test-code in Python zu Lesen, Schwellenwert und zeigt ein Bild:
import cv2
import numpy as np
from matplotlib import pyplot as plt
# read image
img = cv2.imread('slice-309.png',0)
ret,thresh = cv2.threshold(img,0,230, cv2.THRESH_BINARY)
height, width = img.shape
print "height and width : ",height, width
size = img.size
print "size of the image in number of pixels", size
# plot the binary image
imgplot = plt.imshow(img, 'gray')
plt.show()
Ich würde gerne die Anzahl der Pixel im Bild mit einem bestimmten label, zum Beispiel schwarz.
Wie kann ich das tun ? Ich sah tutorials von OpenCV fanden aber keine Hilfe 🙁
Dank!
InformationsquelleAutor Aurélie JEAN | 2015-09-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für schwarze Bilder erhalten Sie die Gesamtzahl der Pixel (rows*cols) und dann subtrahieren Sie von dem Ergebnis erhalten Sie von
countNonZero(mat)
.Für andere Werte haben, können Sie eine Maske erstellen, mit
inRange()
zurück eine binäre Maske zeigt alle Standorte von der Farb - /label - /- Wert, den Sie möchten, und verwenden Sie danncountNonZero
zu zählen, wie viele es gibt.UPDATE (Pro Miki ' s Kommentar):
Wenn Sie versuchen zu finden, die Anzahl der Elemente mit einem bestimmten Wert, Python ermöglicht es Ihnen, überspringen Sie die
inRange()
nennen und einfach tun:Ich aktualisiert meine Antwort, der name der Funktion nicht aktiviert. Es scheint, alle Ihre Pixel sind nicht schwarz...Sie versuchen betrachten
thresh
könnte es nicht sein, was Sie denken, es ist. Wenn das nicht funktioniert, markieren Sie Ihre bevorzugte Antwort auf diese Frage zeigen, dass es geklärt ist und die weitere Frage stellen, zeigen Sie Ihren code. Setzen Sie einen link zu dieser Frage hier und ich werde Euch helfen.sorry, es funktioniert! Nochmals vielen Dank für die Hilfe!!! Sie haben Recht, meine Schwelle war nicht gut definiert, in meiner Funktion Schwellenwert....
Gute Antwort. In python gibt es ein äquivalent dieser C++ - code
countNonZero(img == scalar_value);
?Dank Rick.... Ich bin ganz neu... 🙂
InformationsquelleAutor Rick Smith