Why opencv changed its API for feature detection in 3.0.0
I understand that this is more of a rant than question but is also being posted out of curiosity. Why on earth did opencv change APIs for a perfectly stable module (features2d and nonfree (sift and surf) ). Are they really that jobless or is there a specific reason for this ?
Also, cv::Ptr changed too ! I can understand this might introduce safety but should constructors not have been explicit in the first design itself !
It's broken quite a bit of my code and now I have spent about 5 hours fixing it and will be here all night. Thanks for that !!
I do agree. I have software already in production that will require significant rewriting because the changes in the API, and much needed functionalities from the original libraries where moved to contrib. I do not understand why original functionality is moved away from the code to be put in a separated repository and separated namespace (which often do not even compile because seems to be developed separately)."xfeatures2d" ? Really ??? At moment I´m keeping my usage restricted to 2.4.9 and 2.4.10.