how to show images at a point in a plot?
5 次查看(过去 30 天)
显示 更早的评论
I have an autonomous vehicle with a camera that follows a predetermined path. Ive already found a way to save each frame of the video and figure out which lat and long each frame belongs to, what im having trouble with is plotting the images in a for loop. I feel like im close, below is my code:
P = uigetdir('C:\');
S1 = dir(fullfile(P,'*.png'));
n_frame = numel(S1);
LatSize = size(Lat1, 1);
LongSize = size(Long1, 1);
FrameCount = LatSize/n_frame;
Lat = Lat1(1:FrameCount:end);
Long = Long1(1:FrameCount:end);
for i = 1:n_frame
F2 = fullfile(S1(i).name);
I{i} = imread(F2(i));
plot(Long, Lat)
axes('Position', [Long(i,:) Lat(i,:) .5 .3])
imshow(I)
end
What am I missing here? I get this error when I run the code:
Unable to find file "F"
The various frames of the video are labeled Frame 0001.png, Frame 0002.png and so, there are 739 frames of the video and I want to plot each frame at the point they were recorded. My ultimate goal is to make it so you can click the plot and the picture will appear but ill deal with that part later. Any help is appreciated, thanks!
0 个评论
回答(2 个)
Walter Roberson
2025-1-14
F2 = fullfile(S1(i).folder, S1(i).name);
I{i} = imread(F2);
Also you will probably want a pause() in the display loop. Graphics only updates when you have pause() or drawnow() or uiwait() or waitfor() or figure() or keyboard()
KALYAN ACHARJYA
2025-1-14
编辑:KALYAN ACHARJYA
2025-1-14
1.This one?
I{i} = imread(F2(i));
Correct:
I{i} = imread(F2);
2. For Better Visualization
plot(Long,Lat,'r-', 'LineWidth', 3);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Convert Image Type 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!