Opencv multiply scalar and matrix

后端 未结 5 2493
北海茫月
北海茫月 2021-02-19 06:11

I have been trying to achieve something which should pretty trivial and is trivial in Matlab.

I want to simply achieve something such as:

cv::Ma         


        
5条回答
  •  眼角桃花
    2021-02-19 06:51

    OpenCV does in fact support multiplication by a scalar value with overloaded operator*. You might need to initialize the matrix correctly, though.

    float data[] = {1 ,2, 3,
                    4, 5, 6,
                    7, 8, 9};
    cv::Mat m(3, 3, CV_32FC1, data);
    m = 3*m;  // This works just fine
    

    If you are mainly interested in mathematical operations, cv::Matx is a little easier to work with:

    cv::Matx33f mx(1,2,3,
                   4,5,6,
                   7,8,9);
    mx *= 4;  // This works too
    

提交回复
热议问题