我试图将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)
如何从图像I1,I2,I3和&amp ;;中获取SIFT关键点? I4仅显示在图像I4上?
答案 0 :(得分: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);