【OpenCV】Cv2.ConvertScaleAbs()函数功能(图像线性变换)详解
一个可选的偏移量,默认值为 0。它会在计算过程中加到每个像素值上,具体计算公式为 new_value = alpha * pixel_value + beta。:一个可选的缩放因子,默认值为 1。它控制图像每个像素值的放大或缩小。具体来说,new_value = alpha * pixel_value + beta。:输出图像(Mat 类型),结果图像将存储在该变量中。:输入图像(Mat 类型),
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]]
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)