- OpenCV除了支持图像的算术操作意外,还支持图像的逻辑操作、平方、取LOG、归一化值范围等操作,这些操作在处理复杂场景的图像与二值或者灰度图像分析的时候非常有用,相关的API如下:
函数操作 | 函数 | 说明 | 作用 |
---|---|---|---|
取反操作 | bitwise_not(Mat src, Mat dst) | src:输入图像, dst:取反之后的图像 | 取反之后可以对图像进行更好的分析 |
与操作 | bitwise_and(Mat src1, Mat src2, Mat dst) | src1:输入图像一, src2:输入图像二, dst:与操作结果 | 与操作后的图现象会降低混合后的图像亮度,输出图像的像素小于等于对应位置任意一张输入图像的像素值 |
或操作 | bitwise_or(Mat src1, Mat src2, Mat dst) | src1输入图像一,src2输入图像二,dst输出的图像 | 操作后有强化图像的朗读的效果,和与操作的效果截然相反 |
异或操作 | bitwise_xor(Mat src1, Mat src2, Mat dst) | src1输入图像一, src2输入图像二, dst输出图像 | 可以看作是对输入图像的叠加取反 |
线性绝对值变换 | converScaleAbs(Mat src, Mat dst) | src:输入图像,dst:输出图像 | 默认情况下会对输入Mat独享数据求得绝对值并转换为CV_8UC1类型的输出dst |
归一化处理 | normalize(Mat src, Mat dst, double alpha. double beta, int norm_type, int dtype, Mat mask) | src:输入图象 dst:输出图像 alpha:归一化到指定范围的地址 beta:归一化指定范围的高值 dtype:表示输出的dst图像类型,默认为-1, 表示类型与输入图像src相同 mask:遮罩层,默认为Mat() | 把数据re-scale到指定的范围内 |