0

我正在尝试将 4 个并发视频帧中的筛选关键点显示到一个图像上。我已经能够确定每个图像的关键点,但是我想在最后一张图像上显示所有这些关键点集,而不是 4 个单独的图像,以跟踪正在显示的卡车的运动。我写的代码如下:

I1 = imread('6.jpg');     
g = rgb2gray(I1);    
imwrite(g, '10.png','PNG');    
[I1, D, L] = sift('C:\Users\Xaiver\Documents\MATLAB\10.png');    
showkeys(I1, L)    
I2 = imread('7.jpg');    
g = rgb2gray(I2);    
imwrite(g, '11.png','PNG');    
[I2, D, L] = sift('C:\Users\Xaiver\Documents\MATLAB\11.png');    
showkeys(I2, L)    
I3 = imread('8.jpg');    
g = rgb2gray(I3);    
imwrite(g, '12.png','PNG');    
[I3, D, L] = sift('C:\Users\Xaiver\Documents\MATLAB\12.png');    
showkeys(I3, L)    
I4 = imread('9.jpg');    
g = rgb2gray(I4);    
imwrite(g, '13.png','PNG');    
[I4, D, L] = sift('C:\Users\Xaiver\Documents\MATLAB\13.png');    
showkeys(I4, L)

如何从仅在图像 I4 上显示的图像 I1、I2、I3 和 I4 中获取 SIFT 关键点?

4

1 回答 1

0

好吧,我不知道showkeys程序是如何工作的,因为你没有提供代码,但是有些东西告诉我你可以hold on在调用之间使用它并且它会起作用:

[I1, D, L1] = sift('C:\Users\Xaiver\Documents\MATLAB\10.png');
[I2, D, L2] = sift('C:\Users\Xaiver\Documents\MATLAB\11.png');
[I3, D, L3] = sift('C:\Users\Xaiver\Documents\MATLAB\12.png');
[I4, D, L4] = sift('C:\Users\Xaiver\Documents\MATLAB\13.png');
showkeys(I1, L1);
hold on;
showkeys(I2, L1);
showkeys(I3, L1);
showkeys(I4, L1);
于 2012-05-24T07:05:40.157 回答