creating Mat with openCV in python

后端 未结 1 1509
醉话见心
醉话见心 2021-01-20 14:13

I am used to java\'s implementation of OpenCV. I want to create a Mat structure, fill data into it, extract a submat and then apply so

1条回答
  •  一向
    一向 (楼主)
    2021-01-20 15:04

    For OpenCV 1.x :

    You can use CreateMat to do that :

    Creates a matrix header and allocates the matrix data.

    Python: cv.CreateMat(rows, cols, type) → mat
        Parameters: 
            rows – Number of rows in the matrix
            cols – Number of columns in the matrix
            type – The type of the matrix elements in the form CV_C , where S=signed, U=unsigned, F=float. For example, CV _ 8UC1 means the elements are 8-bit unsigned and the there is 1 channel, and CV _ 32SC2 means the elements are 32-bit signed and there are 2 channels.
    

    The function call is equivalent to the following code:

    CvMat* mat = cvCreateMatHeader(rows, cols, type);
    cvCreateData(mat);
    

    For cv2 interface :

    The new cv2 interface for Python integrates numpy arrays into the OpenCV framework, which makes operations much simpler as they are represented with simple multidimensional arrays. here's a starting example :

    import numpy as np, cv
    vis = np.zeros((384, 836), np.float32)
    h,w = vis.shape
    vis2 = cv.CreateMat(h, w, cv.CV_32FC3)
    vis0 = cv.fromarray(vis)
    

    0 讨论(0)
提交回复
热议问题