2016-10-07 4 views
2

私はSURF.theの問題を使用して、MATLABで画像モザイクを実装していますが正しい画像サイズモザイク

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

あり、それは私がそれをこの

ような何かをしたい

enter image description here

を生成します

enter image description here

Iチャン場合それは変換後の最初の画像サイズに適合できるように

outputView = imref2d(size(img1)); 

MATLABに電子

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

は、第2の画像をトリミング。あなたは0以上の値を見つけるように、あなたがターゲット面に対して画像をワープする場合、この新しい平面内のピクセルの多くが0 A非常に初歩的なアルゴリズムと同じであることを

答えて

2

お知らせは、単にしきい値あなたのイメージであり、その後見つけます非ゼロピクセルを含む最大の境界ボックス...次に、クロップ:

[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, :); 
+0

インデックスが行列のサイズを超えています。 SURF_with_MATALBで エラー(線55) Ir_crop = IR(topLeftRow:bottomRightRow、topLeftCol:bottomRightCol、:)。 サイズ(IR)= 898 1354年3 topLeftRow = 1 bottomRightRow = 476 topLeftCol = 250 bottomRightCol = 3706 –

+0

'[行、colsの]に最初の行を変更=(IR(見つける:、:、1)> 0); 'それはうまくいくはずです。 – erfan

+0

私たちが同じことを話しているのかどうかは分かりませんが、大学でモザイクソフトウェアを作成するとき、逆投影して簡単に投射する方法を覚えています。ターゲットプレーンを元のイメージに投影すると、ターゲットの各ピクセルがソース内のピクセルに割り当てられ、ゼロの問題は回避されます。 –

関連する問題