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

JavaScript implementiert eine verschiebbare Modalbox

In diesem Artikel wird der spezifische JavaScript...

React implementiert eine mehrkomponentige Wertübertragungsfunktion über Conetxt

Die Wirkung dieser Funktion ist ähnlich wie vue的p...

So legen Sie die Anzahl der MySQL-Verbindungen fest (zu viele Verbindungen)

Während der Verwendung von MySQL wurde festgestel...

Detaillierte Erklärung, wie Sie den Speicherverbrauch in MySql reduzieren können

Vorwort Standardmäßig initialisiert MySQL einen g...

JS implementiert Layoutkonvertierung in Animation

Beim Schreiben von Animationen mit JS wird häufig...

Zusammenfassung der Erfahrungen mit der Web-Frontend-Entwicklung

XML-Dateien sollten so weit wie möglich in UTF-8 ...

Detaillierte Erklärung zur Anzeige der aktuellen Anzahl an MySQL-Verbindungen

1. Zeigen Sie die detaillierten Informationen all...

MySQL-Schleife fügt zig Millionen Daten ein

1. Erstellen Sie eine Testtabelle Tabelle `mysql_...

Der Unterschied zwischen JS-Pre-Parsing und Variablen-Promotion im Web-Interview

Inhaltsverzeichnis Was ist eine Voranalyse? Der U...

Lösung für das Problem, dass Centos8 Docker nicht installieren kann

Problem [root@zh ~]# [root@zh ~]# [root@zh ~]# yu...

Detaillierte Erläuterung des MySQL-Mechanismus zur gemeinsamen Abfrageoptimierung

Inhaltsverzeichnis Strategie zur Ausführung föder...

Eine kurze Analyse von MySQL-Verbindungen und -Sammlungen

Join-Abfrage Eine Join-Abfrage bezieht sich auf e...