問題タブ [image-registration]
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.
opencv - OpenCV Orb を使用して画像の配置がうまくいかない
同じ PCB (プリント回路基板) を異なる視点から撮影した 2 つの画像があります (ただし、大幅に異なるわけではありません)。
OpenCV の Orb 機能検出器を使用して、2 つの画像の位置合わせを試みました。しかし、結果はそれほど大きくはありませんでした。Orb の特徴から得られたホモグラフィ マトリックスは、2 つの整列した画像を生成しませんでした。違いのイメージはひどいものに見えました。ある PCB から別の PCB への大きな変換がありました。次に、cv::matchTemplate() を使用して翻訳を削除しました。しかし、回転と投影の効果はまだ残っていました。
Orb 機能ファインダー (SIFT と SURF の非常に適切な特許フリーの代替品であると言われています) が、最初のステップとして画像の位置合わせを含む画像スティッチングでかなりうまく機能することを考えると、これは奇妙です: スティッチングには目に見える継ぎ目はありません。つまり、2 つの画像の位置合わせが非常に悪い上記の状況は完全に矛盾しています。以下は、テンプレート PCB イメージ、テスト イメージ、イメージ absdiff(テンプレート - テスト登録済み)、および関心点イメージです。