以下のプログラムは重心を求めるプログラムなそうなのですが、例えば検出した円や四角形の重心を取るとします。
ここで質問なのですが、
以下のプログラムでどうやって重心を求めているのでしょうか?
アルゴリズムが知りたいです。
//重心の計算
int count=0;
double x_g=0.0,y_g=0.0,x_d=0.0,y_d=0.0,xy_d=0.0
for(int y=0; y<height; y++){
for(int x=0;x<width; x++){
if(img_src[y*width+x] == 255){
count++;
x_g +=x;
y_g +=y;
}
}
}
x_g /=conut;
y_g/=count;
No.1
- 回答日時:
そのプログラムがアルゴリズムそのものです。
「重心は座標の平均」という定義をそのままプログラムにしただけです。
何も特殊な技術は使われていないので、初心者でもわかります。
そもそもの「重心」って何だか理解していますか?
理解できていないなら、まずは、数学や画像処理の知識を身につけましょう。
どうもありがとうございます。理解が浅はかでした。
ちなみに、座標の平均でないと重心はもとまらないのでしょうか?
なぜ平均にしようとしたのか知りたいです。もしかしたら重心を取るのは現実世界でも画像処理の世界でも難しいため平均を用いたのかもしれませんが。
No.2
- 回答日時:
>なぜ平均にしようとしたのか知りたいです。
if(img_src[y*width+x] == 255){
とあるように、均質と仮定しているからでしょう。
また、このプログラムではimg_src[]に全ピクセル(もしくは一定の粒度の格子点)情報が格納されているものを利用して全座標をなめているので、円や四角形に限らず、任意の複雑な図形にも対応していると思います。
どうもありがとうございます。
ちなみに全座標を調べるのはわかりました。そして検出した全座標の平均が重心となるため、平均値をだしたという事でしょうか?
どうやって、全座標の平均値が重心の座標になることを見つけだしたかはわかりませんが。
No.3
- 回答日時:
>どうやって、全座標の平均値が重心の座標になることを見つけだしたかはわかりませんが。
No.1の方も仰っていますが、重心(幾何学中心)の定義を知っていればそんな疑問は沸かないと思います。
No.4
- 回答日時:
>もしかしたら重心を取るのは現実世界でも
>画像処理の世界でも難しいため平均を用いたのかもしれませんが。
そこまでいうのなら、あなたの知っているか
重心の定義をここにかいてみましょう。
No.5ベストアンサー
- 回答日時:
AN04です。
ああ、 venomctun さんか。じゃあ何も知らないですよね。
http://wakariyasui.sakura.ne.jp/p/mech/gou/jyuus …
このあたりをしっかり読んで、重心の定義をしっかり頭に入れて下さい。
図形の重心の場合は、各ピクセルが同じ重さ同じと仮定してます。
すると、重心は各ピクセルの座標値の単純平均になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# C言語 3 2022/11/09 13:27
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
図形の重心を取るプログラムを教えてください
その他(教育・科学・学問)
-
四角形の重心の求め方の定義名
数学
-
四角形の中心の求め方
数学
-
-
4
多角形の中心点の座標の求め方
数学
-
5
System.IO.Directory.GetFilesの順番
Visual Basic(VBA)
-
6
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
7
N点間の中心と重心の求め方
数学
-
8
C++で入力した文字列から数字を取り除くもしくは数字のみをのこす
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
始点、終点の二つの座標と半径...
-
エクセルである点からの距離で...
-
画像回転について
-
Excel VBA で自在に図形を変化...
-
visualbasic でform上に正三角...
-
以下のプログラムは重心を求め...
-
y=x^2の座標をプロットするプロ...
-
OpenCvSharp4による画像判定解...
-
水素分子の体積要素
-
エクセルで回転する座標の出し方
-
オートシェイプ円弧の中心点、...
-
マインクラフト(pc版)で座標...
-
DirectXを使ってテクスチャ(画...
-
交差する2線分の交点座標の求め方
-
タッチパッドのタッチ座標取得
-
c#で直線が図形内にあるか判定
-
SetWindowOrgとSetViewportOrg...
-
直線上にある点の座標の求め方
-
ダイアログ内コントロールの位...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
エクセルで回転する座標の出し方
-
エクセルである点からの距離で...
-
3次元空間上の2つの座標から...
-
閉図形の座標の配列が右回りか...
-
ダイアログ内コントロールの位...
-
始点、終点の二つの座標と半径...
-
座標を持った平面範囲に座標を...
-
空間上の二点を結ぶ直線上に任...
-
エクセルシート上のマウスポイ...
-
多角形の内部かどうか判定する方法
-
ワード上Shapeの位置情報を統一...
-
Excel VBA で自在に図形を変化...
-
OpenCvSharp4による画像判定解...
-
C言語 配列で座標
-
シーケンサー(PLC?)で制...
-
以下のプログラムは重心を求め...
-
交差する2線分の交点座標の求め方
-
VB6のPrinter.ScaleWidth に対...
おすすめ情報