【OpenCV3学习笔记三】 OpenCV中的Mat类(接上一篇)

it2022-05-05  174

   1、矩阵的运算

                Mat src1 = (Mat_<uchar>(2, 3) << 23, 123, 90, 100, 250, 0);                 Mat src2 = (Mat_<uchar>(2, 3) << 125, 150, 60, 100, 10, 40);

 

        1、加法运算

              Mat dst = src1 + src2;

              打印dst的值如下:

              148,255,150                200,255,40

              // uchar 最大值为255

             float  value = 100.0;

             Mat dst1 = src1 + value;         //结果是给每个值都加100

       2、减法运算

            Mat dst2 = src1 - src2;            打印dst的值如下:            0,0,30            0,240,0

      3、点乘运算

            矩阵的点乘就是两个矩阵的对应位置的数值相乘。

      4、点除运算

           矩阵的点除就是两个矩阵的对应位置的数值想除。

2、乘法运算

     1、Mat的乘法

int main() {

    Mat src3 = (Mat_<float>(2, 3) << 1, 2, 3, 4, 5, 6);     Mat src4 = (Mat_<float>(3, 2) << 6, 5, 4, 3, 2, 1);     Mat dst = src3 * src4;

    for (int r = 0; r < dst.rows; r++)     {         for (int c = 0; c < dst.cols; c++)         {             cout << dst.at<float>(r, c) << ","; //r行c列的值         }         cout << endl;     } }

程序打印结果:

20,14

56,41

 

                  

                   

 

 


最新回复(0)