Suchergebnisse
Suchergebnisse 1-10 von insgesamt 10.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
-
-1-Du solltest grundsätzlich verstehen was eine "Kantendetektion" macht: Begreife ein Bild mal für einen Moment als eine Funktion, die von IR^2 -> IR abbildet, das ist, eine 3-Dimensionale Funktion, dessen Farbwerte im Grunde die Höhe der Funktion an der Position (x, y) "kodiert". Hast du das verstanden, kannst du mathematische Ansätze wunderbar auf die Bildverarbeitung übertragen, z.B. sogenannte Faltungen oder - wie @RodFromGermany bereits angemerkt hat - Filter. Filter stellen mathematisch ei…
-
Ja, also, naja, das sind halt Funktionen der Form f:IR^2->IR - und ja, der Gradient zeigt immer in Richtung des stärksten Anstieges, oder: Von Senkungen weg, respektive zu Höhen hinein. Zitat von Bartosz: „Mit z = f(x, y) hatte ich auch zu tun, siehe Bild. Ist nur etwas länger her“ Wie gesagt, ist einfach eine 2D-Funktion, jeder hat mal damit zu tun gehabt (-;, im Abitur mit f(x), im Studium dann f(x, y, ... ). Zitat von Bartosz: „Hier sieht man sehr deutlichst die Senkungen und Hebungen und im …
-
@Joshi Ich weiß nicht so recht, wie ich dein Beitrag interpretieren soll - ob positiv, oder negativ :).
-
Zitat von Bartosz: „Könntet ihr bitte einmal rübergucken?“ Naja, wieso du jetzt EmguCV verwendest ist mir ein Rätsel - im Grunde tust du alles das, was .NET sowieso grundlegend anbietet, Farbbild in ein Graubild umzuwandeln geht ganz einfach, um es zu beschleunigen nutzt du halt LockBits, dann verwendest du ein 2D-Array, auch nicht so effizient, dann führst du in der Schleife immer eine Division aus, was auch nicht gut ist. Mit Bit-Operatoren bist du wesentlich schneller dran, das heißt x >> 1 e…
-
@Joshi Freut mich, falls du von meinem Beitrag profitieren konntest (-: @Bartosz 1.) Graubild in .NET erzeugen, nice work-around: stackoverflow.com/a/32843917/14727115 2.) Zitat von Bartosz: „Meinst du, ich soll die Formel CShort(f(y, x + 1) - f(y, x - 1)) >> 1 und CShort(f(y + 1, x) - f(y - 1, x)) >> 1 direkt unten einsetzen?“ Du sollst diese einfach direkt in VB.NET-Quellcode (1 Zeile) einsetzen. 3.) Zitat von Bartosz: „Im privaten Umfeld steht keiner mit 'ner Peitsche hinter mir“ Mit absolute…
-
Stimmt, da hatte ich falsch gedacht - danke für den Hinweis. Ich hoffe der TE sieht das noch. Bzgl des Casts: Ja, das ist richtig, ich habe aber einfach den Schnippsel des TE genutzt - wollte insbesondere zeigen, dass die Division durch 2 auch >> 1 -, und damit effizienter ist.
-
Ja, aus Eile habe ich jetzt 2 geschrieben, sorry. Oben hatte ich es ja korrekt formuliert: vb-paradise.de/index.php/Attachment/49389/
-
Grundsätzlich kannst du diese Operationen ganzzahlig ausführen. Ist meines Erachtens nicht so gut zwischen double und int hin -und her zu casten. Du kannst statt pow(x, 2), einfach x * x schreiben (und nicht wie ich erwähnt hatte << 1, das wäre tatsächlich * 2), Wurzel brauchst du da sowieso nicht, weil die Wurzelfunktion stetig im Definitionsbereich ist und damit Ordnungen beibehält, dass heißt wenn x^2 kleiner ist als y^2, dann ist betragsmäßig x auch kleiner als y. Dein Kantenbild wird sich a…
-
Kannst du das Originalbild mal anhängen? Also bevor du das durch die Kantendetektion jagst?
-
Exemplarische Vorgehensweise: Image-Segmentation anwenden, ich habe mal eine Segmentierung basierend auf sogenannte Graph-Cuts gewählt (in MatLab geladen, und dann entsprechend Vorder -und Hintergrund markiert), Resultat: vb-paradise.de/index.php/Attachment/49401/ Nun kann ich einen Treshold festlegen - alles gelb-markierte wird betont, alles andere auf 0 gesetzt, Resultat: vb-paradise.de/index.php/Attachment/49402/ Darauf die Kantendetektion anwenden, und dann einfach mit dem Urbild addieren - …