Calculate optical flow between two pictures
2 次查看(过去 30 天)
显示 更早的评论
Hi,
I tried to calculate the optical flow between two pictures with the matlab built-in function:
I1 = rgb2gray(imread('Test4.jpg'));
I2 = rgb2gray(imread('Test4e.jpg'));
opticalFlow = vision.OpticalFlow('ReferenceFrameSource', 'Input port')
step(opticalFlow, I1, I2)
But I get the error:
Error using vision.OpticalFlow/validateInputsImpl (line 846)
Expected input I data type to be floating-point.
I am not sure what this means. I can't see the code of this. Any ideas on what I am doing wrong?
Thanks
0 个评论
采纳的回答
Guillaume
2014-12-14
Your I1 and I2 are of type uint8. Convert them to double:
I1 = im2double(rgb2gray(imread('Test4.jpg')));
I2 = im2double(rgb2gray(imread('Test4e.jpg')));
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Optics 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!