11#include "core.h"
22#include "highgui.h"
33#include "imgproc.h"
4+ #include "imgcodecs.h"
45
56////////////////////////////////////////////////////////////////////////////////
67// Python references to OpenCV functions
@@ -14,6 +15,9 @@ static MP_DEFINE_CONST_FUN_OBJ_KW(cv2_core_inRange_obj, 3, cv2_core_inRange);
1415static MP_DEFINE_CONST_FUN_OBJ_KW (cv2_highgui_imshow_obj , 2 , cv2_highgui_imshow ) ;
1516static MP_DEFINE_CONST_FUN_OBJ_KW (cv2_highgui_waitKey_obj , 0 , cv2_highgui_waitKey ) ;
1617
18+ // OpenCV imgcodecs module
19+ static MP_DEFINE_CONST_FUN_OBJ_KW (cv2_imgcodecs_imread_obj , 1 , cv2_imgcodecs_imread ) ;
20+
1721// OpenCV imgproc module
1822static MP_DEFINE_CONST_FUN_OBJ_KW (cv2_imgproc_adaptiveThreshold_obj , 6 , cv2_imgproc_adaptiveThreshold ) ;
1923static MP_DEFINE_CONST_FUN_OBJ_KW (cv2_imgproc_arrowedLine_obj , 4 , cv2_imgproc_arrowedLine ) ;
@@ -88,6 +92,23 @@ static const mp_rom_map_elem_t cv2_module_globals_table[] = {
8892 { MP_ROM_QSTR (MP_QSTR_BORDER_DEFAULT ), MP_ROM_INT (4 ) },
8993 { MP_ROM_QSTR (MP_QSTR_BORDER_ISOLATED ), MP_ROM_INT (16 ) },
9094
95+ // Image read mode flags, from opencv2/imgcodecs.hpp
96+ { MP_ROM_QSTR (MP_QSTR_IMREAD_UNCHANGED ), MP_ROM_INT (-1 ) },
97+ { MP_ROM_QSTR (MP_QSTR_IMREAD_GRAYSCALE ), MP_ROM_INT (0 ) },
98+ { MP_ROM_QSTR (MP_QSTR_IMREAD_COLOR_BGR ), MP_ROM_INT (1 ) },
99+ { MP_ROM_QSTR (MP_QSTR_IMREAD_COLOR ), MP_ROM_INT (1 ) },
100+ { MP_ROM_QSTR (MP_QSTR_IMREAD_ANYDEPTH ), MP_ROM_INT (2 ) },
101+ { MP_ROM_QSTR (MP_QSTR_IMREAD_ANYCOLOR ), MP_ROM_INT (4 ) },
102+ { MP_ROM_QSTR (MP_QSTR_IMREAD_LOAD_GDAL ), MP_ROM_INT (8 ) },
103+ { MP_ROM_QSTR (MP_QSTR_IMREAD_REDUCED_GRAYSCALE_2 ), MP_ROM_INT (16 ) },
104+ { MP_ROM_QSTR (MP_QSTR_IMREAD_REDUCED_COLOR_2 ), MP_ROM_INT (17 ) },
105+ { MP_ROM_QSTR (MP_QSTR_IMREAD_REDUCED_GRAYSCALE_4 ), MP_ROM_INT (32 ) },
106+ { MP_ROM_QSTR (MP_QSTR_IMREAD_REDUCED_COLOR_4 ), MP_ROM_INT (33 ) },
107+ { MP_ROM_QSTR (MP_QSTR_IMREAD_REDUCED_GRAYSCALE_8 ), MP_ROM_INT (64 ) },
108+ { MP_ROM_QSTR (MP_QSTR_IMREAD_REDUCED_COLOR_8 ), MP_ROM_INT (65 ) },
109+ { MP_ROM_QSTR (MP_QSTR_IMREAD_IGNORE_ORIENTATION ), MP_ROM_INT (128 ) },
110+ { MP_ROM_QSTR (MP_QSTR_IMREAD_COLOR_RGB ), MP_ROM_INT (256 ) },
111+
91112 // Morphology operation types, from opencv2/imgproc.hpp
92113 { MP_ROM_QSTR (MP_QSTR_MORPH_ERODE ), MP_ROM_INT (0 ) },
93114 { MP_ROM_QSTR (MP_QSTR_MORPH_DILATE ), MP_ROM_INT (1 ) },
@@ -223,6 +244,12 @@ static const mp_rom_map_elem_t cv2_module_globals_table[] = {
223244
224245 { MP_ROM_QSTR (MP_QSTR_imshow ), MP_ROM_PTR (& cv2_highgui_imshow_obj ) },
225246 { MP_ROM_QSTR (MP_QSTR_waitKey ), MP_ROM_PTR (& cv2_highgui_waitKey_obj ) },
247+
248+ ////////////////////////////////////////////////////////////////////////////
249+ // OpenCV imgcodecs functions
250+ ////////////////////////////////////////////////////////////////////////////
251+
252+ { MP_ROM_QSTR (MP_QSTR_imread ), MP_ROM_PTR (& cv2_imgcodecs_imread_obj ) },
226253
227254 ////////////////////////////////////////////////////////////////////////////
228255 // OpenCV imgproc functions
0 commit comments