-
Notifications
You must be signed in to change notification settings - Fork 3
Description
My initial implementation approach was to split up the Python wrapper functions by module (core, imgproc, and probably imgcodecs too). However, I think this can be improved.
I poked through all available functions in core, and most are either already implemented in ulab-NumPy, or niche use cases IMO. Really, the only function that I think we should have (at least for launch) is inRange(), as it's fairly commonly used and I'm not sure if there's an equivalent implementation from ulab-NumPy. So core just has 1 function.
On the other hand, imgproc will have a lot of functions, probably a few dozen (drawing, blurring, color-space conversions, warping, morphology, etc.). Each function wrapper seems to be anywhere from 25-50 lines of code, so imgproc.cpp could easily become thousands of lines of code, becoming tedious to manage.
I think it may be better to split up the bigger modules into "Topics", following OpenCV's conventions. For example, here are the imgproc Topics. We could then have files called imgproc_image_filtering.cpp, imgproc_geometric_image_transformations.cpp, imgproc_miscellaneous_image_transformations.cpp, imgproc_drawing_functions.cpp, etc.
Open to other suggestions as well!