Cv2.ConvertScaleAbs(Mat src, Mat dst, double alpha = 1, double beta = 0);
参数说明:
src:输入图像(Mat 类型),它是需要处理的源图像。
dst:输出图像(Mat 类型),结果图像将存储在该变量中。
alpha(可选):一个可选的缩放因子,默认值为 1。它控制图像每个像素值的放大或缩小。具体来说,new_value = alpha * pixel_value + beta。
beta(可选):一个可选的偏移量,默认值为 0。它会在计算过程中加到每个像素值上,具体计算公式为 new_value = alpha * pixel_value + beta。
Cv2.ConvertScaleAbs()
主要做了两件事:
- 缩放变换:通过
alpha
参数对输入图像的每个像素值进行线性缩放(即乘以一个因子)。 - 绝对值处理:通过
abs()
操作将图像中的每个像素值取绝对值,确保结果图像的所有像素值为非负值。 - 越界处理:当线性放缩超过255时,将其截断至255。
import numpy as np
import cv2
image1 = np.array([1,10,50,100,200])
image2 = cv2.convertScaleAbs(image1, alpha=10, beta=0)
print(image2)
打印结果:
[[ 10]
[100]
[255]
[255]
[255]]