問題タブ [image-stitching]
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.
c++ - Opencv 画像のスティッチングまたはパノラマ
OpenCV (パノラマ) で画像のスティッチングを行っていますが、問題が 1 つあります。
OpenCVのStitchingクラスは使えないので、特徴点とホモグラフィだけで作成する必要があります。
ここでは一致の特徴点を取得しますが、それをフィルタリングする必要があります。
今、私はホモグラフィを計算します
そして最後に、変換行列warpPerspective
を取得し、2 つの画像の結合を取得するために適用しますが、私の問題は、最終的な画像で写真の周りに黒い領域が表示され、再度ループすると最終的な画像が判読できないことです。
この黒い領域を削除する方法を知っている人はいますか? 私が悪いことをしていますか?比較するために見ることができる機能コードを知っている人はいますか?
御時間ありがとうございます
編集:
それが私のイメージです:
そして黒い部分をなくしたい。
matlab - matlabで画像をステッチするときに適切にブレンドする方法は?
私はmatlabで画像をステッチしようとしていますが、醜いオーバーラップラインが得られます。画像を適切にブレンドするにはどうすればよいですか? 現在、私は以下のコードを使用していますが、ブレンドが多すぎます (特に、黒い建物のように、建物の窓がゴースト アーティファクトとブレンドされています)。
opencv - 水平にopencvステッチ
opencv で 2 つの画像をつなぎ合わせようとしています。両方の画像の特徴を見つけて一致させようとしましたが、うまく一致しません。画像がすでに水平方向に配置されていることがわかっている場合、一致アルゴリズムでできる改善点はありますか?
私は使用しています:SurfFeatureDetector SurfFeatureExtractorおよびFlannBasedMatcher
ありがとうございました
opencv - OpenCV (Python) を使用して複数の画像をつなぎ合わせる
こんにちは、2 枚の写真を使用して簡単な画像のスティッチングを行う方法について多くのチュートリアルを見てきましたが、それは問題ありません。
しかし、4 ~ 6 枚以上の画像からパノラマを作成したい場合はどうすればよいでしょうか。
画像ファイルのリストを取得するコードがあります(画像は、シーケンスの最初の画像から最後の画像まで順番に並んでいます)。次に、各画像について、SIFT 特徴記述子を計算します。しかし、私は立ち往生しています.2つの画像に対して、FLANN kd-treeを使用してマッチャーを設定し、画像間の一致を見つけてホモグラフィを計算します。このチュートリアルと同様http://docs.opencv.org/trunk/doc/py_tutorials/py_feature2d/py_feature_homography/py_feature_homography.html#py-feature-homography
しかし、最後に特徴点間の線を表示する代わりに、このhttps://stackoverflow.com/a/20355545/622194関数を使用して 2 つの画像からパノラマを作成しました。しかし、3番目と4番目の画像をパノラマに追加したい場合、どうすればよいかわかりません。
編集:
答えから、イメージ ステッチ スクリプトを実装して、イメージ シーケンス内で隣り合っているイメージ間のホモグラフィ マトリックスを計算しようとしました。したがって、I1 I2 I3 と I4 がある場合、H_12、H_23、H_34 になります。次に、H_12 を使用して I1 と I2 をステッチすることから始めます。次に、累積ホモグラフィを見つけて、I3 を現在のパノラマに結び付けたいと考えています。私は H_13 = H_12*H_23 を fing し、画像 3 を現在のパノラマにステッチしますが、ここではパノラマ画像に非常に明白なギャップがあり、次の画像がステッチされるとさらに大きなギャップになり、画像が非常に引き伸ばされます。
これに正しいアプローチを使用しているかどうか、または誰かがエラーを見つけたり、私が間違っていることを確認したりできるかどうかを誰かに教えてもらえますか。
matlab - 画像貼り合わせのバンドル調整
matlab を使用して簡単な画像ステッチ スクリプトを作成しています。順序付けられた一連の画像(I0 I1 I2 I3 ...)を取得するコードができました。画像ごとに SIFT 記述子を抽出し、各画像ペア間で一致させます。(I0-I1 と I1-I2 の間の一致を見つける...)。私はランサックを使用してインライアを見つけ出し、各ペアの間にホモグラフィを当てはめます。(H01=>I0-I1)。次に、I0 を I1 に、(I0I1) を I2 に、というように画像をつなぎ合わせます。(基本的なパノラマ作成だと思います)。
しかし、今はバンドル調整を実装して、画像全体の投影エラーを修正したいと考えています。Szeliski コンピュータ ビジョンの本でバンドル調整について何か読んだことがあります (しかし、3D 再構成の BA について詳しく知り、2D 画像のスティッチングでそれを使用する方法がわかりません)。それから私はこの論文も見ました。
どこから始めればよいかわかりません。論文はより複雑なステッチを使用しており、カメラ モデルに関するすべての議論は少し混乱しています。これらの議論を単純なアプリケーションに結び付けることができないからです。誰かがこれを始めるのを手伝ってくれますか? または、単純なパノラマ作成でバンドル調整が適用される、より適切な素材を教えてください。必要なことの疑似コードも役立ちます。
c++ - 互いに静止している 2 台の重なったカメラからの画像をつなぎ合わせる
私はCVが初めてで、2台のカメラのビデオをつなぎ合わせようとしています.2台のカメラは互いに静止しています。詳細:
カメラは横に並んでいて、カメラ間の回転角度を調整できます。カメラは世界に対して移動するため、シーンが変化します。
ステッチするフレームの量は約 300 です (各フレームは、各カメラから 1 つずつ、2 つの写真で構成されます)。
スティッチングをリアルタイムで行う必要はありませんが、カメラの相対位置がわかっているという事実を利用して、できるだけ早くスティッチングを行いたいと考えています。各画像の解像度は比較的高く、約 900x600 です。
主な段階は次のとおりです。
SURF 検出器を使用して、FLANN マッチャーを使用して SURF 記述子に一致する両方の画像で SURF 記述子を検出するカメラの位置を既に知っているという事実に基づいてプロセスを最適化しますか?
理想的には、最初の計算を一度行って、カメラの視点間の変換を見つけ、それを再利用したいと考えています。しかし、これが実際に可能であるかどうか、および可能であればどの変換を使用できるかについて、私の初歩的な CV の知識ではわかりません。
シーンが変化しているため、ホモグラフィ行列を一度計算して再利用してもうまくいかないことは理解しています。
他に 2 つの可能性があります。
変換が一度計算されて再利用される同様のケース(ただし静止シーン) を見つけました。これはどの変換で、私の場合は機能しますか?
私が見つけたもう 1 つの可能性は、最初の知識を使用して 2 つの画像間の重複領域を見つけ、時間を節約するために残りの画像を無視することです。関連スレッド
どんな助けでも大歓迎です!ロン