Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- image = cv.imread("someimage.jpg", 1)
- dims = image.shape
- image = image.ravel()
- cppextenionmodule.np_to_mat(dims, image)
- static PyObject *np_to_mat(PyObject *self, PyObject *args){
- PyObject *size;
- PyArrayObject *image;
- if (!PyArg_ParseTuple(args, "O!O!", &PyTuple_Type, &size, &PyArray_Type, &image)) {
- return NULL;
- }
- int rows = PyLong_AsLong(PyTuple_GetItem(size ,0));
- int cols = PyLong_AsLong(PyTuple_GetItem(size ,1));
- int nchannels = PyLong_AsLong(PyTuple_GetItem(size ,2));
- char my_arr[rows * nchannels * cols];
- for(size_t length = 0; length<(rows * nchannels * cols); length++){
- my_arr[length] = (*(char *)PyArray_GETPTR1(image, length));
- }
- cv::Mat my_img = cv::Mat(cv::Size(cols, rows), CV_8UC3, &my_arr);
- ...
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement