openCV 几个位运算函数


算术运算:cv::add(), cv::addWeighted(), cv::scaleAdd(); cv::subtract, cv::absdiff; cv::multiply; cv::divide, 还可以通过 mask参数来掩模不需要处理的位。

    位运算:cv::bitwise_and, cv::bitwise_or, cv::bitwise_xor, cv::bitwise_not

    cv::max, cv::min

    其他运算:cv::sqrt, cv::pow, cv::abs, cv::cuberoot, cv::exp, cv::log

    上面这些函数都是针对矩阵的每一个元素对应操作的。更方便的是,矩阵的加减乘除、bitwise operators….都被重载了。inv()求逆、t()求转置、determinant()求行列式、norm()求范数、cross()求两个向量的叉乘、dot()求两个向量的点乘。

    当需要将一个多通道图像分离时,调用cv::split()方法,用一个std::vector来保存中间量,最后又可以调用cv::merge()方法合成,代码如下:

std::vector<cv::Mat> planes;
cv::split(image1, planes);
planes[0] += image2;
cv::merge(planes, result);

你可能感兴趣的:(openCV 几个位运算函数)