1
1
// C headers
2
2
#include "py/runtime.h"
3
3
4
+ // Function declarations
4
5
extern mp_obj_t cv2_imgcodecs_imread (size_t n_args , const mp_obj_t * pos_args , mp_map_t * kw_args );
5
6
extern mp_obj_t cv2_imgcodecs_imwrite (size_t n_args , const mp_obj_t * pos_args , mp_map_t * kw_args );
7
+
8
+ // Python references to the functions
9
+ static MP_DEFINE_CONST_FUN_OBJ_KW (cv2_imgcodecs_imread_obj , 1 , cv2_imgcodecs_imread ) ;
10
+ static MP_DEFINE_CONST_FUN_OBJ_KW (cv2_imgcodecs_imwrite_obj , 2 , cv2_imgcodecs_imwrite ) ;
11
+
12
+ // Global definitions for functions and constants
13
+ #define OPENCV_IMGCODECS_GLOBALS \
14
+ /* Functions */ \
15
+ { MP_ROM_QSTR(MP_QSTR_imread), MP_ROM_PTR(&cv2_imgcodecs_imread_obj) }, \
16
+ { MP_ROM_QSTR(MP_QSTR_imwrite), MP_ROM_PTR(&cv2_imgcodecs_imwrite_obj) }, \
17
+ \
18
+ /* Image read flags, from opencv2/imgcodecs.hpp */ \
19
+ { MP_ROM_QSTR (MP_QSTR_IMREAD_UNCHANGED ), MP_ROM_INT (-1 ) }, \
20
+ { MP_ROM_QSTR (MP_QSTR_IMREAD_GRAYSCALE ), MP_ROM_INT (0 ) }, \
21
+ { MP_ROM_QSTR (MP_QSTR_IMREAD_COLOR_BGR ), MP_ROM_INT (1 ) }, \
22
+ { MP_ROM_QSTR (MP_QSTR_IMREAD_COLOR ), MP_ROM_INT (1 ) }, \
23
+ { MP_ROM_QSTR (MP_QSTR_IMREAD_ANYDEPTH ), MP_ROM_INT (2 ) }, \
24
+ { MP_ROM_QSTR (MP_QSTR_IMREAD_ANYCOLOR ), MP_ROM_INT (4 ) }, \
25
+ { MP_ROM_QSTR (MP_QSTR_IMREAD_LOAD_GDAL ), MP_ROM_INT (8 ) }, \
26
+ { MP_ROM_QSTR (MP_QSTR_IMREAD_REDUCED_GRAYSCALE_2 ), MP_ROM_INT (16 ) }, \
27
+ { MP_ROM_QSTR (MP_QSTR_IMREAD_REDUCED_COLOR_2 ), MP_ROM_INT (17 ) }, \
28
+ { MP_ROM_QSTR (MP_QSTR_IMREAD_REDUCED_GRAYSCALE_4 ), MP_ROM_INT (32 ) }, \
29
+ { MP_ROM_QSTR (MP_QSTR_IMREAD_REDUCED_COLOR_4 ), MP_ROM_INT (33 ) }, \
30
+ { MP_ROM_QSTR (MP_QSTR_IMREAD_REDUCED_GRAYSCALE_8 ), MP_ROM_INT (64 ) }, \
31
+ { MP_ROM_QSTR (MP_QSTR_IMREAD_REDUCED_COLOR_8 ), MP_ROM_INT (65 ) }, \
32
+ { MP_ROM_QSTR (MP_QSTR_IMREAD_IGNORE_ORIENTATION ), MP_ROM_INT (128 ) }, \
33
+ { MP_ROM_QSTR (MP_QSTR_IMREAD_COLOR_RGB ), MP_ROM_INT (256 ) }, \
34
+ \
35
+ /* Image write flags, from opencv2/imgcodecs.hpp */ \
36
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_JPEG_QUALITY ), MP_ROM_INT (1 ) }, \
37
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_JPEG_PROGRESSIVE ), MP_ROM_INT (2 ) }, \
38
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_JPEG_OPTIMIZE ), MP_ROM_INT (3 ) }, \
39
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_JPEG_RST_INTERVAL ), MP_ROM_INT (4 ) }, \
40
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_JPEG_LUMA_QUALITY ), MP_ROM_INT (5 ) }, \
41
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_JPEG_CHROMA_QUALITY ), MP_ROM_INT (6 ) }, \
42
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_JPEG_SAMPLING_FACTOR ), MP_ROM_INT (7 ) }, \
43
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_PNG_COMPRESSION ), MP_ROM_INT (16 ) }, \
44
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_PNG_STRATEGY ), MP_ROM_INT (17 ) }, \
45
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_PNG_BILEVEL ), MP_ROM_INT (18 ) }, \
46
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_PXM_BINARY ), MP_ROM_INT (32 ) }, \
47
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_EXR_TYPE ), MP_ROM_INT ((3 << 4 ) + 0 ) }, \
48
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_EXR_COMPRESSION ), MP_ROM_INT ((3 << 4 ) + 1 ) }, \
49
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_EXR_DWA_COMPRESSION_LEVEL ), MP_ROM_INT ((3 << 4 ) + 2 ) }, \
50
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_WEBP_QUALITY ), MP_ROM_INT (64 ) }, \
51
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_HDR_COMPRESSION ), MP_ROM_INT ((5 << 4 ) + 0 ) }, \
52
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_PAM_TUPLETYPE ), MP_ROM_INT (128 ) }, \
53
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_TIFF_RESUNIT ), MP_ROM_INT (256 ) }, \
54
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_TIFF_XDPI ), MP_ROM_INT (257 ) }, \
55
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_TIFF_YDPI ), MP_ROM_INT (258 ) }, \
56
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_TIFF_COMPRESSION ), MP_ROM_INT (259 ) }, \
57
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_TIFF_ROWSPERSTRIP ), MP_ROM_INT (278 ) }, \
58
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_TIFF_PREDICTOR ), MP_ROM_INT (317 ) }, \
59
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_JPEG2000_COMPRESSION_X1000 ), MP_ROM_INT (272 ) }, \
60
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_AVIF_QUALITY ), MP_ROM_INT (512 ) }, \
61
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_AVIF_DEPTH ), MP_ROM_INT (513 ) }, \
62
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_AVIF_SPEED ), MP_ROM_INT (514 ) }, \
63
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_JPEGXL_QUALITY ), MP_ROM_INT (640 ) }, \
64
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_JPEGXL_EFFORT ), MP_ROM_INT (641 ) }, \
65
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_JPEGXL_DISTANCE ), MP_ROM_INT (642 ) }, \
66
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_JPEGXL_DECODING_SPEED ), MP_ROM_INT (643 ) }, \
67
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_GIF_LOOP ), MP_ROM_INT (1024 ) }, \
68
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_GIF_SPEED ), MP_ROM_INT (1025 ) }, \
69
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_GIF_QUALITY ), MP_ROM_INT (1026 ) }, \
70
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_GIF_DITHER ), MP_ROM_INT (1027 ) }, \
71
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_GIF_TRANSPARENCY ), MP_ROM_INT (1028 ) }, \
72
+ { MP_ROM_QSTR (MP_QSTR_IMWRITE_GIF_COLORTABLE ), MP_ROM_INT (1029 ) }
73
+
0 commit comments