Optical Flow HS between two Images
9 次查看(过去 30 天)
显示 更早的评论
Hi, I'm working with the Optical Flow HS method and I would like to know how I can set the "Compute optical flow between" parameter to 'Two images'.
In the description, it says that I have to change it into 'Two images' to compute the optical Flow between images instead of video frames.
% Compute optical flow
flow = estimateFlow(opticFlow, frameGray);
This is the standard input, what exactly I have to digit to change it?
Thank you very much
0 个评论
回答(1 个)
Hrishikesh Borate
2021-7-15
Hi,
The following code demonstrates the computation of optical flow between two images.
vidReader = VideoReader('visiontraffic.avi','CurrentTime',11);
frame1 = readFrame(vidReader);
% Extract 11th frame
for i=1:10
frame2 = readFrame(vidReader);
end
frame = {frame1, frame2};
h = figure;
movegui(h);
hViewPanel = uipanel(h,'Position',[0 0 1 1],'Title','Plot of Optical Flow Vectors');
hPlot = axes(hViewPanel);
opticFlow = opticalFlowHS;
for i=1:2
frameRGB = frame{i};
frameGray = im2gray(frameRGB);
flow = estimateFlow(opticFlow,frameGray);
imshow(frameRGB)
hold on
plot(flow,'DecimationFactor',[5 5],'ScaleFactor',60,'Parent',hPlot);
hold off
pause(1)
end
The flow variable stores the optical flow between the two images (frame1 and frame2).
2 个评论
Vivek Raj
2023-11-5
Hello everyone, how i can detect current position of a ball (if i want to track a ball in image) using Horn-Schunk method?
Image Analyst
2023-11-5
I'm guessing you'd threshold the flow image and then call regionprops and ask for the centroid. Attach a snippet of your video in a new question, and your code, if you still have problems.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Tracking and Motion Estimation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!