Ich muss möglichst viele der gemörtelten Steine in einem Straßenbereich korrekt umreißen. Der folgende Code erkennt einige davon korrekt im Steinbild „in.jpg“, aber es ist nicht ersichtlich, warum viele unentdeckt bleiben oder nur teilweise umrissen sind. Ich möchte auch Fälle wie Kontur 56, 57 oder 92 beheben, indem ich die Tatsache ausnutze, dass die Steine ausgerichtet sind und ein meist ovales Bild mit erkannten Konturen „out.jpg“ aufweist. Ich weiß, wie man die offensichtlichen Ausreißer entfernt, aber vorher muss ich die Erkennungsmethode verbessern.
Die verschiedenen Parameter (Unschärfe 113 usw.) wurden durch Versuch und Irrtum ermittelt.
Es reicht nicht aus, nur die Steine zu zählen, Ich muss ihre Form so genau wie möglich nachahmen.
Vielen Dank für Ihre Vorschläge!
Ich muss möglichst viele der gemörtelten Steine in einem Straßenbereich korrekt umreißen. Der folgende Code erkennt einige davon korrekt im Steinbild „in.jpg“, aber es ist nicht ersichtlich, warum viele unentdeckt bleiben oder nur teilweise umrissen sind. Ich möchte auch Fälle wie Kontur 56, 57 oder 92 beheben, indem ich die Tatsache ausnutze, dass die Steine ausgerichtet sind und ein meist ovales Bild mit erkannten Konturen „out.jpg“ aufweist. Ich weiß, wie man die offensichtlichen Ausreißer entfernt, aber vorher muss ich die Erkennungsmethode verbessern. [code]import cv2 img = cv2.imread('in.jpg') gray = cv2.bitwise_not(img) gray = cv2.cvtColor(gray, cv2.COLOR_BGR2GRAY) gray = cv2.GaussianBlur(gray, (113, 113), 0) thresh = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 61, 2) thresh = cv2.dilate(thresh, None, iterations=5) thresh = cv2.erode(thresh, None, iterations=1) cnts, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) print(f'Found {len(cnts)} contours') cv2.drawContours(img, cnts, -1, (0, 255, 0), 2) centroids = [cv2.moments(c) for c in cnts] for i, c in enumerate(centroids): cv2.putText(img, str(i), (int(c['m10'] / c['m00']), int(c['m01'] / c['m00']) - 5), cv2.FONT_HERSHEY_SIMPLEX, 0.6, (0, 0, 255), 2) cv2.imwrite('out.jpg', img) [/code] Die verschiedenen Parameter (Unschärfe 113 usw.) wurden durch Versuch und Irrtum ermittelt. Es reicht nicht aus, nur die Steine zu zählen, Ich muss ihre Form so genau wie möglich nachahmen. Vielen Dank für Ihre Vorschläge!
Ich habe ein Projekt, das von der Universität abgeschlossen ist. Im Grunde genommen, um eine Reihe von Dingen aus einer CSV -Datei in Java zurückzugeben. Aus meinem vorherigen Versuch, aber ein Teil,...
Ich bin in einer kollaborativen Arbeit, eine Website für behinderte Menschen zu generieren, hauptsächlich in begrenzte Anzahl von Bildungszentren, die Tablets und alte Notenbücher an die Begleiter...
Ich versuche meine Hand bei Perlin -Rauschen, damit ich DND -Karten erstellen kann, aber mein Python -Projekt scheint immer entweder perfekt vertikale Linien oder Rauschen zu erstellen, die extrem...