Share this

Entwicklung von Software zur technischen Inspektion auf Basis digitaler Bildverarbeitungstechnologie

2026-02-21 12:53:54 · · #1
Diese Arbeit verwendet VB6.0 als Client und AutoCAD 2000 sowie MATLAB 6.5 als Server. Die Software bietet eine umfassende interaktive Umgebung zur Bilddarstellung und -verarbeitung. Durch die Verarbeitung digitaler Bilder werden geometrische Abmessungen ermittelt und somit die Anforderungen an die grafische Kantenerkennungssoftware im Ingenieurwesen effektiv gelöst. Schlüsselwörter: Bildverarbeitung, Kantenerkennungsalgorithmen. ZUSAMMENFASSUNG: Dieses Verfahren wird mit Visual Basic 6.0 als Client realisiert. Als Server dienen AutoCAD und MATLAB. Die Software bietet eine integrierte Umgebung zur interaktiven Bilddarstellung und -exploration. Sie ermöglicht die Bestimmung der Abmessungen eines Werkstücks anhand eines digitalen Bildes. Schlüsselwörter: Bildverarbeitung, Kantenerkennungsalgorithmen. I. Überblick: Es werden Fotos mit einer industriellen Digitalkamera aufgenommen, um analoge Bilder zu erhalten. Anschließend werden die Bilder mithilfe einer Bildaufnahmekarte diskretisiert und an einen Computer übertragen. Der Computer speichert die erhaltenen digitalen Bilder in einem bestimmten Bilddateiformat. Anschließend wird das Bildverarbeitungssystem aufgerufen, um die Bilder zu verarbeiten und zu analysieren, die benötigten Merkmalswerte zu extrahieren und schließlich eine Datenrekonstruktionsanalyse der erhaltenen Merkmalswerte durchzuführen, um die Genauigkeitstoleranzergebnisse zu erhalten. II. Komponentenbeziehung der Software: Die Software wurde mit VB 6.0 als Client und MATLAB 6.5 sowie AutoCAD als Server entwickelt. Die Mensch-Computer-Schnittstelle basiert auf dem visuellen Design von VB. Die Kernverarbeitung erfolgt mit den Grafikfunktionen und leistungsstarken Programmierfunktionen von MATLAB. Die Bilddaten werden anschließend mit den Grafikanmerkungs- und Messfunktionen von AutoCAD erfasst. Steuerung von AutoCAD-Objekten [1]: `acaddoc.sendcommand "AutoCAD-konforme Anweisungen"`; dieser Befehl sendet Anweisungen an AutoCAD und führt sie aus. Steuerung von MATLAB-Objekten [2]: Bei Aufruf von MATLAB als Server über ActiveX können nur die folgenden drei Funktionen in der Betriebssystemregistrierung verwendet werden: 1) `matlab.execute "MATLAB-Formatprogramm"`; dieser Befehl dient zur Ausführung von MATLAB-Befehlen. 2) `matlab.getfullmatrix("a", "base", "mreal", "mimag");` Dieser Satz dient dazu, die Matrixwerte aus MATLAB einzulesen und in das Array `a` einzufügen, wobei `mreal` den Realteil und `mimag` den Imaginärteil der Matrix darstellt. 3) `matlab.putfullmatrix("a", "base", "mreal", "mimag");` Diese Anweisung liest die Werte eines externen Arrays in eine MATLAB-Matrix `a` ein, wobei `mreal` den Realteil und `mimag` den Imaginärteil der Matrix bezeichnet. Um in VB mit MATLAB und AutoCAD kompatible Befehle zu verwenden, muss zunächst eine Verbindung zwischen VB und MATLAB sowie zwischen VB und AutoCAD hergestellt werden. Dies geschieht durch die Deklaration öffentlicher Variablen in VB. Der zugehörige Code lautet: `Public matlab As Object; Globale Variablendeklaration Public acaddoc As Object Public mdspace As Object Public acadapp As Object Public acadutil As Object On Error Resume Next;` Dies übernimmt das Öffnen, Deklarieren und Behandeln von Fehlern in MATLAB. `Set matlab = GetObject("matlab.application" If Err Then Err.Clear Set matlab = CreateObject("matlab.application" If Err Then MsgBox "Die Software kann MATLAB nicht öffnen. Bitte versuchen Sie es erneut!" Exit Sub End If End If` Im Folgenden wird auf AutoCAD Bezug genommen, einschließlich des Öffnens, der Deklaration und der Fehlerbehandlung. `On Error Resume Next Set acadapp = GetObject(, "autocad.application" If Error Then Err.Clear Set acadapp = CreateObject("autocad.application" If Err Then MsgBox "AutoCAD konnte nicht gestartet werden. Bitte überprüfen Sie, ob AutoCAD 2000 installiert ist." End If End If` `Set acaddoc = acadapp.activedocument;` Dies legt die spezifischen Arbeitsbedingungen von AutoCAD fest. `Set mdspace = acaddoc.modelspace Set` acadutil = acaddoc.utility acadapp.Visible = False III. Kernalgorithmen der Software 1. Algorithmus für Graustufen Bildkanten bezeichnen die Menge von Elementen, deren Grauwert in ihrer Umgebung einen sprunghaften oder abrupten Wechsel aufweist [4]. Die Methode zur Kantenerkennung durch Berechnung des Gradienten einer zweidimensionalen reellen Funktion und Wahl eines geeigneten Schwellenwerts wird als Gradientenschwellenwertverfahren bezeichnet. Dieser differentielle Algorithmus ist einfach anzuwenden, weist jedoch eine geringe Störfestigkeit auf. Das klassische Kantenerkennungsverfahren untersucht die Grauwertänderung in einer bestimmten Umgebung jedes Pixels im Bild und nutzt das Änderungsgesetz der ersten oder zweiten Ableitung der Kante, um diese auf einfache Weise zu erkennen. Dieses Verfahren wird oft als lokaler Kantenerkennungsoperator bezeichnet. Das Grundprinzip des Roberts-Operators: Die Grauwertfunktion eines digitalen Bildes ist Z = f(x,y), wobei x und y die Koordinaten des Pixels sind. Befindet sich an dem Koordinatenpunkt (x,y) eine Kante, kann die Richtung der schnellsten Änderung mithilfe der Änderungsrate von f(x,y) in x- und y-Richtung, d. h. der Gradientenrichtung, berechnet werden. Betrachtet man den diskreten Bereich eines digitalen Bildes, kann man direkt die erste Differenz des Bildes verwenden, um die Kantenerkennung zu vereinfachen. Die partiellen Ableitungen der Bildfunktion. Die Differenzen erster Ordnung der zweidimensionalen diskreten Bildfunktion in x- und y-Richtung sind definiert als f(x+1,y)-f(x,1) bzw. f(x,y+1)-f(x,y). 2. Algorithmus für Binärbilder: In einem Binärbild können alle Pixel nur Werte zwischen 0 und 1 annehmen. Daher wird ein Binärbild in MATLAB durch eine zweidimensionale Matrix aus Nullen und Einsen dargestellt. Diese repräsentieren „aus“ bzw. „an“. „Aus“ bedeutet, dass sich das Pixel im Hintergrund befindet, während „an“ bedeutet, dass sich das Pixel im Vordergrund befindet. Durch diese Art der Bildbearbeitung lassen sich die Strukturmerkmale leichter identifizieren. IV. Die Software beginnt mit der Erfassung des ursprünglichen Bildes. Dies kann ein Farb- oder Schwarzweißfoto sein; beides sind analoge Bilder und müssen vor der Weiterverarbeitung digitalisiert werden. Anschließend erfolgt die Bildvorverarbeitung. Benutzer können verschiedene Bildformate konvertieren. Zuschneiden, Spiegeln, Skalieren, Filtern, Erosion, Dilatation und Histogrammausgleich von Binärbildern. Anschließend erfolgt die Graustufenbildverarbeitung. Benutzer können das gewünschte Bild durch Vergleich der Ergebnisse verschiedener Operatoren bestimmen und eine Bildanpassungs- und Rekonstruktionsanalyse der Graustufenbildverarbeitungsergebnisse durchführen. Falls der Benutzer mit den Ergebnissen der Graustufenbildverarbeitung nicht zufrieden ist, kann er über das Menü für Binärbildbearbeitung entsprechende Operationen an Binärbildern durchführen; hier kann er Binärbilder mit einer Genauigkeit von bis zu einem Pixel skelettieren. Anschließend rekonstruiert der Benutzer die geometrischen Abmessungen des Bildes und berechnet und zeigt Toleranzen an. Dies kann durch Klicken auf die entsprechenden Elemente in der Menüleiste von oben nach unten erfolgen. Schließlich kann der Benutzer in der Menüleiste mit den zugehörigen Informationen auf Informationen zu den geöffneten Bildern, die Tabelle der Rundungstoleranzen und den Copyright-Hinweis der Software zugreifen. V. Ein einfaches Beispiel: 1. Um die Software zu installieren, klicken Sie auf setup.exe und folgen Sie der üblichen Softwareinstallationsmethode. Das anfängliche Passwort lautet: 111111. Abbildung 1 Installationsoberfläche Abbildung 2 Benutzeroberfläche 2. Um die Software zu bedienen, folgen Sie den entsprechenden Menüs. Die Reihenfolge ist: Bildvorverarbeitung, Graustufenverarbeitung (oder Binärverarbeitung), Datenrekonstruktion und Toleranzerfassung. Beispiel: Foto einer Teetasse: Der Durchmesser der Teetasse beträgt 35 mm; die Pixelgröße beträgt 1024 × 768 Pixel. Abbildung 3: Originalbild. Abbildung 4: Graustufenbildausschnitt (488 × 488 Pixel). Abbildung 5: Graustufenhistogramm des Fotos. Abbildung 6: Graustufenoperator zur Konturberechnung. Abbildung 7: Analyse des Ergebnisses der Kreisrekonstruktion: Der Durchmesser des äußeren Hüllkreises beträgt 492 Pixel; der Durchmesser des inneren Hüllkreises beträgt 486 Pixel; die Rundheitstoleranz der Teetasse beträgt 6 Pixel bzw. 0,05 mm. Dieses Ergebnis stimmt im Wesentlichen mit dem Messergebnis überein. 3. Vorsichtsmaßnahmen: Diese Software erfordert die Installation von MATLAB und AutoCAD auf dem System des Benutzers. Falls keines dieser Programme installiert ist, meldet die Software, dass sie nicht ordnungsgemäß funktioniert. VI. Fazit Aufbauend auf der obigen Analyse wurde das Systemmodell der Software in dieser Arbeit klar dargestellt. Der Basisalgorithmus des Kernprogramms und die Anweisungen zum Aufruf der drei Softwarekomponenten werden ebenfalls beschrieben; dies bietet Entwicklern von Grafik- und Bildbearbeitungssoftware wertvolle Referenzmöglichkeiten. Die Praxis zeigt, dass die Software realistisch und effektiv läuft und sich durch hohe Praxistauglichkeit auszeichnet. Referenzen: [1] Hu Haiqing et al. AutoCAD Design and Secondary Development [M]. Beijing: Chemical Industry Press, 2001, 3. [2] Wang Xiaodan und Wu Chongming. System Analysis and Design Based on MATLAB - Image Processing [M]. Xi'an: Xi'an University of Electronic Science and Technology Press, 2004, 5. [3] Zhang Zhaoli, Zhao Chunhui und Mei Xiaodan. Modern Image Processing Technology and Matlab Implementation [M]. Beijing: People's Posts and Telecommunications Press, 2001, 5. [4] Zhang Jie. A Practical Binary Image Thinning Algorithm [J]. Computer Applications and Software, 1998, (12): 28–32. Zugehörigkeit des Autors: Büro Guangzhou, Shanghai Minoford Experimental Automation Co., Ltd. Adresse: Raum 1705, Nordturm, Lifeng-Gebäude, Nr. 9 Qingnian Road, Wirtschaftsentwicklungszone Guangzhou, Guangzhou 510730. E-Mail: [email protected]
Read next

ABCO integrierte SPS für die Montage und Prüfung von Automobilsensoren

Im heutigen Wettbewerbsumfeld ist die Nachfrage nach weiterer Automatisierung im gesamten Fertigungsprozess enorm gestie...

Articles 2026-02-20