- opticalFlow object: https://www.mathworks.com/help/vision/ref/opticalflowobject.html
- estimateFlow: https://www.mathworks.com/help/vision/ref/opticalflowhs.estimateflow.html
- opticalflowfarneback: https://www.mathworks.com/help/vision/ref/opticalflowfarneback.html
Find coordinates of closest points in successive frames
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a sequence of 10 images (Siemen star). I want to find the coordinates of points which overlap as I proceed in time (going from one frame to other). How to find the closest points that were within some distance of each other or were overlaping with each other as I proceed the frames? Thanks!
0 commentaires
Réponses (1)
Jaynik
le 17 Avr 2024
Hi,
You can use the opticalFlow object to track motion between two frames. There are several functions to compute optical flow like opticalFlowLK for the Lucas-Kanade method, opticalFlowFarneback for the Farneback method, etc. You can try the method appropriate for your case.
Here is a sample code to estimate the optical flow between two frames:
% Convert the images to grayscale if necessary using rgb2gray
img1 = imread('image1.jpg');
opticFlow = opticalFlowFarneback;
flow = estimateFlow(opticFlow, img1);
for i = 2:10 % For 10 images
img2 = imread(sprintf('image%d.jpg', i));
% Estimate the optical flow between the current and the next frame
flow = estimateFlow(opticFlow, img2);
end
You can analyze the "flow.Magnitude" and "flow.Orientation" fields to find the overlapping points or points that are within a certain distance of their previous positions.
Please refer the following documentation links to read more about each functions:
0 commentaires
Voir également
Catégories
En savoir plus sur Tracking and Motion Estimation dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!