2017-01-31 3 views
0

Ich habe 2 Bilder, die ich in einer Abbildung plotten muss, dann zeigen die Punkte von Interesse mit SURF auf beiden Bildern: Bild 1: Größe [6113x5693x3] Image 2 : Größe [4896x3744x3] bei dem Versuch, mit diesem Code beiden Bilder in einer Figur zu zeichnen:Fehler beim Zeichnen von 2 Bildern mit unterschiedlicher Größe mit Matlab

I = zeros([size(I1,1) size(I1,2)*2 size(I1,3)]); 
I(:,1:size(I1,2),:)=I1; 
I(:,size(I1,2)+1:size(I1,2)+size(I2,2),:)=I2; 
figure, imshow(I); hold on; 

und die Sehenswürdigkeiten in der Nähe eines jeden von ihnen angezeigt werden mit:

plot([Pos1(:,2) Pos2(:,2)+size(I1,2)]',[Pos1(:,1) Pos2(:,1)]','-'); 
plot([Pos1(:,2) Pos2(:,2)+size(I1,2)]',[Pos1(:,1) Pos2(:,1)]','o'); 

ich dieser Fehler und ich nicht wissen, wie zu beheben:

Subscripted assignment dimension mismatch. 

Jeder Vorschlag wird uns willkommen sein!

+0

Können Sie die Linie angeben, in der der Fehler auftritt? – oro777

Antwort

1

Gehen Sie diese Zeile für Zeile durch. Der Fehler tritt in Zeile 3 auf. Sie versuchen, I2 (mit der Dimension 4896x3744x3) einem ausgewählten Teil von I zuzuordnen, der eine falsche erste Dimension hat (da die erste Dimension von I dieselbe ist wie I1, nicht I2).

size(I(:,size(I1,2)+1:size(I1,2)+size(I2,2),:)) = [ 6113 3744 3 ] 

size(I2) = [4896 3744 3] 
+0

Dieser Code ist für Bilder der gleichen Größe gewidmet, frage ich, wie kann ich es ändern, um die zwei Bilder unterschiedlicher Größe anzuzeigen –

+0

Sie wollen sie also nebeneinander? Oder übereinander? Die Frage deutet nicht darauf hin, wonach genau Sie suchen –

Verwandte Themen