Cln/remove opencv dependency
This merge brings the changes from cln/remove-opencv-dependency, where the dependent functions were actually changed, to enh/remove-opencv-dependency, where the unit test were implemented.
This is the result of I mistake I made by creating 2 branches to address the same issue.