2013-07-19 47 views
0

我有2個不同的尺寸相同的圖像。每張圖片有1個興趣點。我想加入這兩個圖像,通過將這兩個點加入一條陰影中。我怎樣才能做到這一點? 這是圖像的粗略的想法:http://i.imgbox.com/abhqL3XT.png在MATLAB中的不同圖像中加入2個不同的點

+0

如同圖像並排嗎? – Dan

+0

我的意思是圖像是不同的矩陣。我有點的座標。 –

+0

是的,但你想繪製一條線,所以你想要並排繪製圖像或什麼?發表一個輸入和輸出(與線)圖像的例子? – Dan

回答

1

讓我們創建兩個圖像

>> [X,Y] = meshgrid(-200:200, -200:200); 
>> im1 = exp(-sqrt(X.^2+Y.^2)/100); 
>> im2 = exp(-sqrt(X.^2+Y.^2)/200); 

您可以通過側與imagesc命令來顯示他們的一面:

>> imagesc([im1 im2]); 

enter image description here

現在說你想連接圖像中的兩個點,座標爲(100,300)和(300,50)。因爲圖像是並排的,你需要添加的第一個圖像到X的寬度協調第二圖像中:

>> width = size(im1, 2); 
>> x1 = 100; y1 = 300; 
>> x2 = 300 + width; y2 = 50; 

現在你可以把一個hold在圖像上(這樣你就可以在上面繪製它),並繪製你的線連接兩個點:

>> hold on; 
>> plot([x1 x2], [y1 y2], 'r', 'LineWidth', 2) 

enter image description here

1

如果我理解正確的話,這應該做你想做的:

% example random images (assumed gray-scale) 
Img1 = rand(256)*.1; 
Img2 = rand(256)*.3; 

% widh of the images 
imgWidth = size(Img1, 2); 

%joined image 
Img12 = [Img1, Img2]; 


% example points 
[point1x, point1y] = deal(201, 100); 
% point twos horizontal coordinate 
% is shifted by the image width 
[point2x, point2y] = deal(imgWidth + 101, 40); 


% show images and plot the line 
figure; 
imshow(Img12); 
hold on; 
plot([point1x, point2x],[point1y, point2y], '+-b'); 
相關問題