Matlab による JavaScript プログラミング、重心アルゴリズムによる位置決め学習

Matlab による JavaScript プログラミング、重心アルゴリズムによる位置決め学習

Matlab はクローズドな商用ソフトウェアであり、米国政府によって管理されており、ビジネス倫理を無視しているため、使用は推奨されません。 Matlab 構文が気に入ったら、Matlab と同じ構文を持つオープン ソースの octave に移行できます。

Matlab セントロイドアルゴリズム

いわゆる重心は、密度をピクセルのグレースケール値として使用する場合の重心です。たとえば、重心のx座標は

ここに画像の説明を挿入

最も直感的な方法は次のとおりです。

%%質量中心アルゴリズム関数 [x,y] = oCenter(img) を使用して、img の質量中心の位置を見つけます。
イメージをdouble型で表す。
[m,n] = サイズ(画像);
x = 0;y = 0;合計=0;
i = 1:mの場合
    j = 1:nの場合
        y = y + img(i,j)*i;
        関数 i は、 x と j の積から成ります。
        合計 = 合計 + img(i,j);
    終わり
終わり
x = x /合計;
y = y /合計;

これは十分単純で粗雑ですが、あまりにも醜いです。結局のところ、Matlab では、行列が最も基本的な演算単位です。
そして、蓄積と合計のプロセスでは、同じ配列が実際に繰り返し使用されます。 i行目では、各列に1,2,3...を掛けて合計します。これはi行目のベクトルとベクトル[1:n]のドット積です。したがって、全体像に関係なく、i 番目の行ベクトルの重心は比較的簡単に書き出すことができます。

x = 画像(i,:)*(1:n)'/合計(画像(i,:));

これに基づいて、予想外の利点も得られました。つまり、各行の重心を1行の式で簡単に記述できるのです。

x = img*(1:n)'./sum(img,2);%各行の重心 y = (1:m)*img./sum(img);%各列の重心

OCD とは、見た目が快適であることを意味します。
したがって、画像全体の重心は次のように表すことができます。

合計Img = 合計(img(:));
x = sum(img)*(1:n)'/sumImg;
y = (1:m)*sum(画像,2)/sumImg;

上記は、Matlab 重心アルゴリズムによる位置決め学習を通した JavaScript プログラミングの詳細な内容です。JavaScript 位置決め Matlab 重心アルゴリズムの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • JS 面接の質問 --- アルゴリズムの手順に関する質問
  • Vue で crypto-js AES 対称暗号化アルゴリズムを使用して暗号化と復号化を実装する
  • JavaScript で実装された 7 つのソート アルゴリズムの概要 (推奨!)
  • JavaScript でツリー構造を構築するための効率的なアルゴリズムについての簡単な説明
  • JS での多段階ソートアルゴリズムの実装コード
  • JS でシンプルなカレンダー アルゴリズムを実装する方法
  • JavaScript アルゴリズムの面接の質問

<<:  MySQL マルチテーブルクエリの具体例

>>:  DockerでRedisをデプロイして起動する方法

推薦する

CSS 属性値 clear:right が機能しない理由の詳細

clear プロパティを使用してフロートをクリアすることはよくあることであり、clear プロパティ...

新しいカーネルをLinuxシステムに移植する手順

1. ubuntu16.04 イメージと対応する ubuntu16.04 カーネル バージョンのソー...

JavaScript 組み込みの日付と時刻の書式設定のサンプル コード

1. 基礎知識(日付オブジェクトのメソッド) 😜 getFullYear() は年を表す4桁の数字を...

Windows サービス 2016 Datacenter\Stand\Embedded アクティベーション方法 (2021)

管理者権限でcmdを実行する slmgr /ipk CB7KF-BWN84-R7R2Y-793K2-...

各グループの最新データを取得するためにMySQLベースのグループを実装する

序文:グループ化関数はグループ内の最初のデータを取得しますが、各グループ内の最新のデータを取得する必...

画像の色を変更するための純粋なCSS

画像の色を変更するための CSS テクニックは非常にシンプルです。具体的なコードは次のとおりです。ヒ...

MySQLデータベースで外部キー制約を使用する必要があるかどうかの詳細な説明

1. はじめに外部キー制約を使用するかどうかという話題は、すでに決まり文句になっています。学校では、...

HTML レイヤード ボックス シャドウ効果のサンプル コード

まず、画像を見てみましょう。今日はこのエフェクトを作成します。 実は、何でもないんです。Web ペー...

MySQL複合インデックスの詳細な研究

複合インデックス (結合インデックスとも呼ばれます) は、複数の列に対して作成されるインデックスです...

MySQL の binlog_format モードと設定の詳細な分析

MySQL レプリケーションには、SQL ステートメント ベースのレプリケーション (SBR)、行ベ...

Windows での MySQL 8.0.13 解凍バージョンのインストール グラフィック チュートリアル

この記事では、参考までにMySQL 8.0.13のインストールグラフィックチュートリアルを紹介します...

テーブルを使用してフォームコントロールの形式を調整し、見栄えを良くします。

自分でウェブページを書きたいので、HTML 言語についても少し勉強しています。これは、大学時代にウェ...

ウェブサイト上のWeiboコンポーネントの再設計の詳細な紹介(写真とテキスト)

前面に書かれたWeibo コンポーネントは、サードパーティのアクセス ユーザーが開発を必要とせずに ...

過去の Linux イメージの問題を修正するためのサンプル分析

過去の Linux イメージに関する問題を修正従来の Linux イメージで作成された ECS クラ...