I’d like to be able to use optical flow to control all six degrees of freedom (translational and rotational movements) of a UAV without a GPS. So basically, I want to find the displacement for x and y translation, scale, as well as for yaw, pitch, and roll rotations (I don’t know if it’s clear). When I use the displacement object (from Image library), I feel that I am only able to find x, y translation, scale and yaw rotation.
So do you know a way to find the displacement for the roll and pitch rotations? Whether it’s with the displacement object or just by creating my own class.
There’s no direct method to find roll and pitch using geometric methods like our code is based on.
Also, note that our scale/yaw find_displacement code barely works since our log_polar reprojection internally needs to be upgraded to use bilinear/bicubic sampling. Right now it’s NN which results in too many rough edges for the Fourier transform used by find_displacement to match well.
Thank you for your fast reply.
What method do you suggest I use to do this then? I’m open to any advice…
Should I create my own function? Or is there a way to update as you said the log_polar reprojection?
You more or less would need to write 1000s of lines of very high performance C code to do this. So, I don’t have a solution.