Erfassung der Anzahl der Garne im Stoffbild

  • Ich bin ein Neuling in der Bildverarbeitung und arbeite an einem Projekt, um die Anzahl der Garne in einem Stoffbild zu bestimmen, dh Ketten und Schüsse (senkrechte und parallele Garne zur x-Achse)

    Erfassung der Anzahl der Garne im Stoffbild

    Ich versuche, die Garne zu erkennen, indem ich die Summe der Spalten und Reihen für Kettfäden und Schuss nehme scheinen zu funktionieren, weil das Bild nicht sehr gut fokussiert und scharf ist. Das Verfahren ist auch sehr empfindlich gegenüber der Ausrichtung von Garnen im Gewebe.

    Bitte schlagen Sie nach Möglichkeit einen besseren Algorithmus für die Erkennung von Garnen vor. Auch wenn es möglich ist, Garne für jedes aufgenommene Bild gerade herzustellen. Ich habe IMROTATE ausprobiert, aber es erzeugt die schwarzen Bereiche im Bild, die die Summe der Zeilen stören, und der Algorithmus wird fehlgeschlagen. Vielen Dank.

    08 July 2012
2 answers
  • Eine Fourier-Transformation gibt Ihnen die Periode aller periodischen Merkmale im Bild an - z. B. wird angezeigt, dass ein Strukturereignis von 3 Pixeln horizontal und 5 Pixel vertikal vorhanden ist. Daraus und der Pixelskala können Sie die Anzahl berechnen Garne

    08 July 2012
    msanders
  • Einige Code in Mathematica:

     i = ColorNegate@Import@"https://bestecode.com/attachments/Answer/2900/Jlhgw.jpg";
    i3 = DeleteSmallComponents[Binarize[i, .4], 10];
    lines = ImageLines[i3, .6];
    Show[i, Graphics[{Thick, Orange, Line /@ lines}]]
    (*y coord mean increments at x=0 *)
    b = Mean@Differences@ Sort[(#[[2, 1]] #[[1, 2]] - #[[1, 1]] #[[2, 2]])/(#[[1,1]] - #[[2, 1]]) & /@ lines];
    (*mean slope*)
    a = Mean[-(-#[[1, 2]] + #[[2, 2]])/(#[[1, 1]] - #[[2, 1]]) & /@ lines];
    (*Threads*)
    - a ImageDimensions[i3][[1]]/b 
    (*yarns*)
    2 ImageDimensions[i3][[2]]/b
     

    Ergebnis & gt;

    Erfassung der Anzahl der Garne im Stoffbild

    34.5541
    27.2259

    16 July 2012
    Bernard