問題タブ [vision]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 高さ/深度マップへの位置合わせ
同じ次元 (256 x 256) の 2D 深度/高さマップが 2 つあります。深度マップ イメージの各ピクセル/セルには、float 値が含まれています。情報がないピクセルがいくつかあるため、現在は nan に設定されています。非ナノ細胞の割合は、約 20% から 80% までさまざまです。深さマップは、下にある共通サーフェスをポイント サンプリングすることにより、同じ領域から取得されます。
イメージは、下にあるサーフェスの部分的ではあるがオーバーラップしているサンプリングを表すというものです。そして、これらの画像を並べて、表面の組み合わせたサンプル表現を作成する必要があります。やみくもに行うと、結合された画像は、特に z 次元 (float 値) で不連続になります。
2 つの画像をすばやく整列させるにはどうすればよいでしょうか? x および y 方向の移動は、数ピクセル (~ 0 から 10 ピクセル) だけ最小限に抑える必要があります。ただし、画像をより適切に配置するには、1 つの画像の float 値を調整する必要がある場合があります。したがって、2 つの画像の違いを最小限に抑えることが目標です。
アドバイスありがとうございます。
algorithm - ローカル ビジョンを使用したローカル パス プランニングと障害物回避
ローカル ビジョン システムを使用して、ローカル パス プレーニングまたは障害物間のナビゲーションに最適なアルゴリズムは何ですか?
環境を見るために8台のカメラを使用する3D環境のロボットがあります。
カメラは、カメラとその画像内の任意のピクセルとの間の物理的な距離を教えてくれます。
また、画像に基づいて任意の点の座標を計算することもできます。
環境内のあらゆるものに特定の色を使用するため、色に基づいて障害物を検出できます。
これを行うために VisBug を呼び出すアルゴリズムがありますが、私はそれを使用したくありません。効率的ではありません。
適切な選択はありますか?ありがとう。
matlab - コンピューター ビジョン システムのツールボックスと GUI
Matlab の Computer Vision System Toolbox を使用して、2 台のカメラから同時に画像を取得しています。2 台のカメラから 2 つの軸に画像を取得するグラフィカル ユーザー インターフェイスを作成したいと考えています。問題は、Computer Vision System Toolbox を使用しているときに軸を使用して GUI を作成する方法がわからないことです。コンピューター ビジョン システム ツールボックスを使用してリアルタイムでカメラから画像を取得する GUI を作成するための matlab コードを教えてください。
敬具
image - トレーニングと分類器のコンピューター ビジョン
コンピュータ ビジョンでデータ (画像のセット) をトレーニングすることの意味とその方法は? 分類子とは何ですか?
computer-vision - エピポールと斧の配置がわかりにくい
この論文を読んでいるときに、この疑問が浮かびました。目標は、2 つのカメラC 1およびC 2の相対的な姿勢を推定することです。
射影平面は単位球と見なされ、グローバル座標系はZ G軸がカメラの中心に結合するように選択されます。C 1とC 2の内部座標系を前述のグローバル システムにそれぞれマッピングする2 つの行列R 1とR 2を見つけることができれば、問題は解決されます(私には、これらの行列は単にZ c_1とグローバルZ G軸を持つカメラのZ c_2軸)。
これらの行列は反復的に計算され、各反復で、すべての点対応(v 1 ,v 2 )が回転によって更新され、(R 1 v 1 ,R 2 v 2 )になります。
これまでのところ、すべてが理にかなっています。しかし後に、著者は、これらの回転がエピポールの方向を変更し (カメラの Z 軸に対して相対的であると仮定します)、「z 軸Z Gがエピポール、つまりZ G=R1e1=R2e2回転された点対応(v1、v2)は、エピポールe1、e2と同一平面上になる。
私にとって、ベースラインであるZ G軸は常にエピポールと整列しており、回転したエピポールReはベースラインから離れているため、もはやエピポールではありません。しかし、上記の引用は、エピポールが整列していない構成があることを意味します...ご覧のとおり、私は完全に混乱しています...著者がそれによって何を意味するかを理解するのを手伝ってください.
image - openCVで最も近い画像を一致させますか?
これは私が抱えているジレンマです。私のアプリケーションでは、一連の画像内で画像L1と一致する画像L2を一致させる必要があります。L1とL2はまったく同じ画像ですが、L1の方がはるかに小さく (アップスケールする必要がありますか?)、エッジが少しアーチファクトになる可能性がありますが、それでも、それらはまったく同じソース画像からのものです。色情報を使用すると、現在の画像と一致する画像の間のあいまいさが取り除かれるという点で、色は重要です。OpenCV を使用して (または、より良い代替手段があるかもしれません)、一致する画像 ( L2 )を見つける最良の方法は何ですか?
繰り返しますが、一致する画像は回転したり歪んだりせず、サイズを変更するだけです。
一致する画像が提供されたセット内のすべての画像にどれだけ近いかを評価する機能があると思います。次に、評価が最も高いものを一致として選択します。画像を比較する方法がわかりません。どんな助けでも素晴らしいでしょう。ありがとう。
c++ - Opencvを使用して、ボックス内に印刷されたオブジェクトを排除しながら画像内のボックスを検出する方法は?
qtでopencvを使用してボックスソートアプリケーションを開発しようとしています。箱の幅と長さを測りたいです。
上の画像に示すように、ボックス内に印刷されているものに関係なく、ボックスの幅と長さを提供する最も外側の線 (つまり、ボックスのエッジ) のみを検出したいと考えています。
私が試したこと:
最初
Findcontours()
に最大面積の輪郭を使用して選択しようとしましたが、外側のエッジの輪郭が何度も囲まれていないため(キャニー出力のどこかで壊れている)、輪郭として検出されません。ハフライン変換では、あまりにも多くの行が得られます.4行だけを取得する方法がわかりません.
私は自分のアルゴリズムを次のように試しました。
イメージをグレースケールに変換します。
画像の1列を取り、すべてのピクセルをその列の次の連続するピクセルと比較します。その値の差が、ピクセルがエッジに属するしきい値(たとえば100)より大きい場合は、配列に格納します。すべての列に対してこれを行うと、x 軸に平行なボックスの上の線が得られます。
同じ手順に従いますが、最後の列と最後の行から (つまり、下から上へ)、x 軸に平行な下の線が表示されます。
同様に、y 軸に平行な線も見つけます。これで、各辺に 1 つずつ、合計 4 つの点の配列ができました。
これで、ボックスの側面が X 軸と Y 軸に正確に平行になるようにボックスを配置すると、良い結果が得られます。ボックスを少しでもある方向に向けて配置すると、下の画像に示すように明らかな対角線が表示されます。
下の画像に示すように、4 つの点の配列すべてから最初の 10 点と最後の 10 点を削除し (対角線を描画する役割を果たします)、線を描きました。これは、ボックスがさらに傾いていると機能せず、測定値もうまくいきません。 .
今、私の質問は、
ボックスに印刷されたものを無視して、ボックスの外縁(長方形)のみを取得し、そこに寸法を取得する簡単な方法はありますか?
必ずしもアルゴリズムの修正/改善を求めているわけではありませんが、それに関する提案も大歓迎です。このような大きな投稿で申し訳ありません。
matlab - vision.OpticalFlow は、ビデオもフローの値も表示していません
Matlabを使用してオブジェクトの速度を確認しようとしているので、このコードを思いつきました
問題は、フローの値 (いくつかのオブジェクトの速度を探していて、Matlab を使用できますか?) もビデオも表示できないことです。
同時に、このコードができない場合にオブジェクトのすべての速度を計算するためにこれが機能するかどうかはわかりません.Matlabで複数の速度を計算するにはどうすればよいですか?