私はこの分野では新しく、質問があります -
私は画像とオブジェクトを持っています。オブジェクトを"ボール"と呼ぶことにしましょう。
ボールは動いており、ある時点で画像に到達しています。そしてここに私の問題があります -
ボールがイメージに触れたことをどうやって検出できますか?
ありがとうございます。画像に届く物体を検出する
-1
A
答えて
0
オブジェクトをいくつかの数学的方法でモデル化する必要があります(閉じたポリゴンなど)。次に、2つのポリゴン交差のアルゴリズムを検索することができます。
0
2Dで作業している場合、単純なRectanlge Collision検出を使用できます。 基本的に、矩形が他の矩形と衝突しているかどうかを確認するには、XとYの位置を幅と高さで確認する必要があります。
私は、HTML5のタグキャンバスを使用してjsfiddle例を持って下
jsfiddle:https://jsfiddle.net/e2dmef7q/
衝突をチェックするコードがRectToRectCollisionダウンだけで簡単に実行がxを使って
function Mathematics()
{
}
Mathematics.prototype.PointInRect = function(pnt_x, pnt_y, rect_x, rect_y, rect_w, rect_h)
{
if ((pnt_x >= rect_x) && (pnt_x <= rect_x + rect_w - 1))
{
if ((pnt_y >= rect_y) && (pnt_y <= rect_y + rect_h - 1))
{return true;}
}
return false;
}
Mathematics.prototype.RectToRectCollision = function(rect1_x, rect1_y, rect1_w, rect1_h,
rect2_x, rect2_y, rect2_w, rect2_h)
{
// top-left corner
if (this.PointInRect(rect1_x, rect1_y, rect2_x, rect2_y, rect2_w, rect2_h)){return true;}
// top-right corner
if (this.PointInRect(rect1_x + rect1_w - 1, rect1_y, rect2_x, rect2_y, rect2_w, rect2_h)){return true;}
// bottom-right corner
if (this.PointInRect(rect1_x + rect1_w - 1, rect1_y + rect1_h - 1, rect2_x, rect2_y, rect2_w, rect2_h)){return true;}
// bottom-left corner
if (this.PointInRect(rect1_x, rect1_y + rect1_h - 1, rect2_x, rect2_y, rect2_w, rect2_h)){return true;}
// Check to see if rectangle 2 is hit any part of rectanlge 1
// top-left corner
if (this.PointInRect(rect2_x, rect2_y, rect1_x, rect1_y, rect1_w, rect1_h)){return true;}
// top-right corner
if (this.PointInRect(rect2_x + rect2_w - 1, rect2_y, rect1_x, rect1_y, rect1_w, rect1_h)){return true;}
// bottom-right corner
if (this.PointInRect(rect2_x + rect2_w - 1, rect2_y + rect2_h - 1, rect1_x, rect1_y, rect1_w, rect1_h)){return true;}
// bottom-left corner
if (this.PointInRect(rect2_x, rect2_y + rect2_h - 1, rect1_x, rect1_y, rect1_w, rect1_h)){return true;}
// If there is no collision
return false;
}
です、y、幅と高さの2つの長方形。次に、PointInRect関数を使用して、矩形の点が他の矩形の内側にあるかどうかをチェックします。
P.S.私が提供したコードは、私が持っている古い例のものです。少し怖いように見えます。しかし、Mozillaのサイトには、2Dの衝突に関する素晴らしい情報があります。https://developer.mozilla.org/en-US/docs/Games/Techniques/2D_collision_detection
関連する問題
- 1. 均質強度画像で物体を検出する
- 2. アイソメ物体検出
- 3. Kinecの画像で手と物体の接触を検出するC++
- 4. 幾何学的形状に基づいて画像上の物体を検出
- 5. Matlab - 画像認識 - 植物の葉の数を検出する
- 6. 人物の画像内の顔の位置を検出する
- 7. 画像からの車(物体)の抽出
- 8. TensorFlowオブジェクト検出API(トレーニングデータセットとして画像作物を使用)
- 9. 移動物体の衝突検出
- 10. 複数の画像を使って物体の形状を検出する方法は?
- 11. HOG人物検出器:False背景減算画像のポジティブ検出
- 12. OpenCVで画像上の人物の長方形の肖像を検出
- 13. たくさんの画像を持つ本物のダイナミック画像
- 14. Corona SDK - 非物理的な物体の衝突を検出する方法は?
- 15. ImagenetクラスによるTensorFlowオブジェクト検出API? TensorFlowの物体検出用APIで
- 16. OpenCV、Android:リアルタイム検出ではなく画像からオブジェクトを検出する
- 17. 画像処理でカマラの前で写真や本物の人物を検出する方法は?
- 18. VMを検出するのではなく、物理マシンを検出する
- 19. OpenCvSharpは画像に多くの部分を検出します
- 20. 作物アンドロイド画像
- 21. シャープな画像を検出する
- 22. 画像内のサブオブジェクトを検出する
- 23. 画像の直線を検出する
- 24. 画像ボックスを検出するエッジC#
- 25. 画像の字幕を検出する
- 26. 奥行き画像に基づく画像認識と検出アルゴリズム
- 27. シリーズからの人物検出/ Javaを使用した画像のコレクション
- 28. 画像の人間の顔/身体領域のサングラスを検出する方法
- 29. 参照画像を使って2値画像から物体(手)の幅を決定する
- 30. 顔検出+画像モーフィング
ありがとうございました :) – Max