ich bin gerade dabei eine kleine Testanlage zu bauen. Das Ziel dieser ist die Bestimmung eines Farbanteils in einem Bild.
Der Code hierfür funktioniert ohne Probleme.
Das Problem das ich jetzt habe, ist folgendes:
Am Ende soll die Anlage von Leuten benutzt werden, die keine Ahnung haben von Python (ich eigentlich auch nicht).
Derzeit muss man in meinem Code noch jedes mal das Bild manuell eintippen. Da können natürlich schnell Fehler passieren...
Ich habe mir erhofft, dass es eine Möglichkeit gibt, eine Oberfläche zu schaffen, die quasi den Explorer öffnet und man dann ein Bild
anklicken kann, welches dann auch automatisch in meinen Code übernommen wird.
Hat dafür jemand Tipps? Ich habe bisher nicht viel Erfahrung mit Python und noch weniger mit Oberflächen..
Vielen Dank!
Mein bisheriger Code:
Code: Alles auswählen
import cv2
import numpy as np
img = cv2.imread("Testbild 5%.jpg")
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
lower_range = np.array([100, 50, 50])
upper_range = np.array([130, 255, 255])
mask = cv2.inRange(hsv, lower_range, upper_range)
img_size =img.size/3
# cv2.imshow("Image", img)
# cv2.imshow("Mask", mask)
pixels = cv2.countNonZero(mask)
Ratio = ((100/img_size)*pixels)
print("Das gesamte Bild besteht aus",round(img_size), "Pixeln")
print("Das Bild beinhaltet", pixels, "blaue Pixel")
print("Der Blauanteil beträgt damit: ",round(Ratio,2), "Prozent")
cv2.waitKey(0)
cv2.destroyAllWindows()