OpenCV 5.0.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 5.0.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
画像のスティッチング

トピック

 特徴検出と画像マッチング
 
 回転推定
 
 自動キャリブレーション
 
 画像のワーピング
 
 シーム推定
 
 露出補正
 
 画像ブレンダー
 

詳細説明

この図は、Stitcher クラスで実装されているスティッチングモジュールのパイプラインを示している。このクラスを使うことで、いくつかのステップを設定/削除すること、すなわち特定の要件に応じてスティッチングパイプラインを調整することが可能である。パイプラインのすべての構成要素はdetail名前空間で利用可能であり、それらを組み合わせて個別に使用することもできる。

実装されているスティッチングパイプラインは、[43] で提案されているものと非常によく似ている。

stitching pipeline

カメラモデル

現在、スティッチングパイプラインには2つのカメラモデルが実装されている。

ホモグラフィモデルはカメラで撮影した写真パノラマの作成に有用であり、一方でアフィンベースのモデルはスキャンや専用デバイスで撮影したオブジェクトのスティッチングに利用できる。これらのモデルのいずれかについて事前設定されたパイプラインを取得するには cv::Stitcher::create を使用する。

覚え書き
cv::Stitcher の特定の詳細設定は意味をなさない場合がある。特に、アフィンモデルを実装するクラスとホモグラフィモデルを実装するクラスは異なる変換を扱うため、混在させてはならない。

クラス

struct  cv::detail::CameraParams
 カメラパラメータを記述する。さらに...
 
class  cv::detail::DisjointSets
 
class  cv::detail::Graph
 
struct  cv::detail::GraphEdge
 
class  cv::Stitcher
 高レベルな画像スティッチャ。続きを読む...
 
class  cv::detail::Timelapser
 
class  cv::detail::TimelapserCrop
 

関数

 cv::detail::GraphEdge::GraphEdge (int from, int to, float weight)
 
Ptr< Stitchercv::createStitcher (bool try_use_gpu=false)
 
Ptr< Stitchercv::createStitcherScans (bool try_use_gpu=false)
 
bool cv::detail::overlapRoi (Point tl1, Point tl2, Size sz1, Size sz2, Rect &roi)
 
Rect cv::detail::resultRoi (const std::vector< Point > &corners, const std::vector< Size > &sizes)
 
Rect cv::detail::resultRoi (const std::vector< Point > &corners, const std::vector< UMat > &images)
 
Rect cv::detail::resultRoiIntersection (const std::vector< Point > &corners, const std::vector< Size > &sizes)
 
Point cv::detail::resultTl (const std::vector< Point > &corners)
 
void cv::detail::selectRandomSubset (int count, int size, std::vector< int > &subset)
 
int & cv::detail::stitchingLogLevel ()
 

関数詳解

◆ GraphEdge()

cv::detail::GraphEdge::GraphEdge ( int from,
int to,
float weight )
inline

◆ createStitcher()

Ptr< Stitcher > cv::createStitcher ( bool try_use_gpu = false)

#include <opencv2/stitching.hpp>

非推奨Deprecated
Stitcher::create を使用する

◆ createStitcherScans()

Ptr< Stitcher > cv::createStitcherScans ( bool try_use_gpu = false)

#include <opencv2/stitching.hpp>

非推奨Deprecated
Stitcher::create を使用する

◆ overlapRoi()

bool cv::detail::overlapRoi ( Point tl1,
Point tl2,
Size sz1,
Size sz2,
Rect & roi )
Python:
cv.detail.overlapRoi(tl1, tl2, sz1, sz2, roi) -> retval

◆ resultRoi() [1/2]

Rect cv::detail::resultRoi ( const std::vector< Point > & corners,
const std::vector< Size > & sizes )
Python:
cv.detail.resultRoi(corners, images) -> retval
cv.detail.resultRoi(corners, sizes) -> retval

◆ resultRoi() [2/2]

Rect cv::detail::resultRoi ( const std::vector< Point > & corners,
const std::vector< UMat > & images )
Python:
cv.detail.resultRoi(corners, images) -> retval
cv.detail.resultRoi(corners, sizes) -> retval

◆ resultRoiIntersection()

Rect cv::detail::resultRoiIntersection ( const std::vector< Point > & corners,
const std::vector< Size > & sizes )
Python:
cv.detail.resultRoiIntersection(corners, sizes) -> retval

◆ resultTl()

Point cv::detail::resultTl ( const std::vector< Point > & corners)
Python:
cv.detail.resultTl(corners) -> retval

◆ selectRandomSubset()

void cv::detail::selectRandomSubset ( int count,
int size,
std::vector< int > & subset )
Python:
cv.detail.selectRandomSubset(count, size, subset) -> None

◆ stitchingLogLevel()

int & cv::detail::stitchingLogLevel ( )
Python:
cv.detail.stitchingLogLevel() -> retval