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

CSS realisiert Div vollständig zentriert, ohne Höhe festzulegen

Erfordern Das Div unter dem Körper ist vertikal z...

Detaillierte Erklärung zur Verwendung von MySQL DML-Anweisungen

Vorwort: Im vorherigen Artikel haben wir hauptsäc...

Zusammenfassung der MySQL-Fremdschlüsseleinschränkungen und Tabellenbeziehungen

Inhaltsverzeichnis Fremdschlüssel So ermitteln Si...

Eine kurze Erläuterung des Sperrbereichs der MySQL-Next-Key-Sperre

Vorwort Eines Tages wurde ich plötzlich nach der ...

CSS-Animation kombiniert mit SVG zur Erzeugung eines Energieflusseffekts

Der endgültige Effekt ist wie folgt: Die Animatio...

Beispielcode für Django+Vue-Registrierung und -Anmeldung

registrieren Das Front-End verwendet Axios in Vue...

Natives JS zum Erzielen von Book-Flipping-Effekten

In diesem Artikel wird ein mit nativem JS impleme...

Natives js zum Erzielen eines Akkordeoneffekts

Auch bei der tatsächlichen Entwicklung von Websei...

So verwenden Sie mysqldump für vollständige und zeitpunktbezogene Sicherungen

Mysqldump wird für logische Backups in MySQL verw...