2

SURFを使用してMatlabで画像モザイクを実装しています。問題は

outputView = imref2d(size(img1)*2);
Ir = imwarp(img2,tform,'OutputView',outputView); 

それが生み出す

ここに画像の説明を入力

私はそれが欲しい

ここに画像の説明を入力

私が変われば

outputView = imref2d(size(img1)*2);

outputView = imref2d(size(img1));

matlab は 2 番目の画像をトリミングして、変換後に最初の画像サイズに収まるようにします。

4

1 に答える 1

2

ターゲット プレーンに対してイメージをワープすると、この新しいプレーンのピクセルの多くが 0 に等しいことに注意してください。非常に初歩的なアルゴリズムは、0 を超える値を見つけてから最大のバウンディング ボックスを見つけるようにイメージを単純にしきい値処理することです。ゼロ以外のピクセルを含む...次にトリミングします:

[rows,cols] = find(Ir(:,:,1) > 0);
topLeftRow = min(rows);
topLeftCol = min(cols);
bottomRightRow = max(rows);
bottomRightCol = max(cols);

Ir_crop = Ir(topLeftRow:bottomRightRow, topLeftCol:bottomRightCol, :);
于 2016-10-07T13:24:14.287 に答える