JavaScript-Programmierung durch Lernen der Positionierung des Schwerpunktalgorithmus in Matlab

JavaScript-Programmierung durch Lernen der Positionierung des Schwerpunktalgorithmus in Matlab

Da Matlab eine geschlossene kommerzielle Software ist, die von der US-Regierung kontrolliert wird und die Geschäftsethik ignoriert, wird seine Verwendung nicht empfohlen. Wenn Ihnen die Matlab-Syntax gefällt, können Sie zur Open-Source-Version Octave wechseln, die dieselbe Syntax wie Matlab hat.

Matlab-Centroid-Algorithmus

Der sogenannte Schwerpunkt ist der Schwerpunkt, wenn die Dichte als Grauwert des Pixels verwendet wird. Die x-Koordinate des Schwerpunkts ist beispielsweise

Bildbeschreibung hier einfügen

Die intuitivste Methode ist die folgende.

%%Finden Sie die Position des Schwerpunkts von img mithilfe der Schwerpunktalgorithmusfunktion [x,y] = oCenter(img).
img = doppelt(img);
[m,n] = Größe(Bild);
x = 0;y = 0;Summe=0;
für i = 1:m
    für j = 1:n
        y = y + Bild(i,j)*i;
        x = x + img(i,j)*j;
        Summe = Summe+Bild(i,j);
    Ende
Ende
x = x/Summe;
y = y/Summe;

Dies ist zwar einfach und grob genug, aber zu hässlich. Schließlich ist die Matrix in Matlab die grundlegendste Operationseinheit.
Und beim Akkumulieren und Summieren wird dasselbe Array tatsächlich wiederholt verwendet. Für die i-te Zeile wird jede Spalte mit 1,2,3... multipliziert und summiert, was das Skalarprodukt des i-ten Zeilenvektors und des Vektors [1:n] ergibt. Unabhängig vom Gesamtbild lässt sich also der Schwerpunkt des i-ten Zeilenvektors relativ einfach ausschreiben.

x = img(i,:)*(1:n)'/sum(img(i,:));

Auf dieser Grundlage haben wir auch einen unerwarteten Vorteil, nämlich, dass wir den Schwerpunkt jeder Zeile problemlos in einer Ausdruckszeile schreiben können

x = img*(1:n)'./sum(img,2);%Der Schwerpunkt jeder Zeile y = (1:m)*img./sum(img);%Der Schwerpunkt jeder Spalte

OCD bedeutet, bequem auszusehen.
Dementsprechend kann der Schwerpunkt des gesamten Bildes wie folgt geschrieben werden:

SummeBild = Summe(Bild(:));
x = Summe(Bild)*(1:n)'/SummeBild;
y = (1:m)*Summe(Bild,2)/SummeBild;

Oben finden Sie ausführliche Informationen zur JavaScript-Programmierung durch das Lernen der Positionierung des Matlab-Schwerpunktalgorithmus. Weitere Informationen zur Positionierung des Matlab-Schwerpunktalgorithmus in JavaScript finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • JS-Interviewfragen --- Fragen zu Algorithmusschritten
  • Verwenden des symmetrischen AES-Verschlüsselungsalgorithmus crypto-js in Vue zum Implementieren von Ver- und Entschlüsselung
  • Zusammenfassung von sieben in JavaScript implementierten Sortieralgorithmen (empfohlen!)
  • Eine kurze Diskussion über einen effizienten Algorithmus zum Erstellen von Baumstrukturen in JavaScript
  • Implementierungscode des mehrstufigen Sortieralgorithmus in JS
  • So implementieren Sie einen einfachen Kalenderalgorithmus über JS
  • Fragen im Vorstellungsgespräch zum JavaScript-Algorithmus

<<:  Konkretes Beispiel einer MySQL-Mehrtabellenabfrage

>>:  So stellen Sie Redis in Docker bereit und starten es

Artikel empfehlen

Zwei Möglichkeiten, die CSS-Priorität zu verstehen

Methode 1: Werte hinzufügen Gehen wir zu MDN, um ...

Detaillierte Erklärung des Vue2 Cube-UI-Zeitwählers

Inhaltsverzeichnis Vorwort 1. Anspruch und Wirkun...

UL-Listen-Tag-Design für Webseiten mit mehrspaltigem Layout

Als ich vor ein paar Tagen ein dreispaltiges Layou...

Detaillierte Erklärung der MySQL-Berechtigungssteuerung

Inhaltsverzeichnis MySQL-Berechtigungskontrolle B...

Umfassender Vergleich und Bewertung des Vue-Code-Hervorhebungs-Plugins

Inhaltsverzeichnis Umfassender Vergleich Aus der ...

Lösen Sie das Problem des MySQL-Datenverlusts, wenn Docker Redis neu startet

Amtliche Dokumentation: Daher sollte MySQL wie fo...

Fallstricke basierend auf MySQL-Standardsortierregeln

Der Standardtyp varchar in MySQL ist case-insensi...

Analyse der Ursache des Docker-Fehlers Beendet (1) vor 4 Minuten

Docker-Fehler 1. Überprüfen Sie die Ursache Docke...

Detaillierte Erklärung des JQuery-Selektors

Inhaltsverzeichnis Grundlegende Selektoren: Ebene...

Eine kurze Diskussion über reguläre JS-RegExp-Objekte

Inhaltsverzeichnis 1. RegExp-Objekt 2. Grammatik ...

So verwenden Sie vw+rem für das mobile Layout

Verwenden Sie immer noch das flexible Rem-Layout?...