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、点除运算
矩阵的点除就是两个矩阵的对应位置的数值想除。
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