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

Kennen Sie den Unterschied zwischen leerem Wert und Nullwert in MySQL

Vorwort Kürzlich habe ich festgestellt, dass die ...

Schritte zum Erstellen eines Dateiservers mit Apache unter Linux

1. Über den Dateiserver Wenn Sie in einem Projekt...

Detaillierte Verwendung der MySQL-Funktionen row_number() und over()

Syntaxformat: row_number() über (Partition durch ...

30 Minuten, um Ihnen ein umfassendes Verständnis von React Hooks zu vermitteln

Inhaltsverzeichnis Überblick 1. useState 1.1 Drei...

So implementieren Sie eine einfache Datenüberwachung mit JS

Inhaltsverzeichnis Überblick erster Schritt Schri...

Beispiel für das Hinzufügen und Löschen von Bereichspartitionen in MySQL 5.5

einführen Die RANGE-Partitionierung basiert auf e...

Tutorial zu HTML-Tabellen-Tags (23): Zeilenrahmen-Farbattribut BORDERCOLORDARK

In Zeilen können dunkle Rahmenfarben individuell ...

Warum wird in React nicht empfohlen, einen Index als Schlüssel zu verwenden?

1. Vergleichen Sie den alten virtuellen DOM mit d...

Mysql praktische Übungen einfaches Bibliotheksverwaltungssystem

Inhaltsverzeichnis 1. Sortierfunktion 2. Vorberei...

Freundliche Alternativen zum Find Tool in Linux

Mit dem Befehl „Find“ können Sie in einem angegeb...