-
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!