本文將介紹利用這兩個函數 cv2.convertScaleAbs 和 cv2.addWeighted 來調整亮度及對比度。
cv2.convertScaleAbs
這個函數的主要目的是將輸入的影像進行線性縮放和平移操作,通常用於調整影像的對比度和亮度
dst = cv2.convertScaleAbs(src, alpha=alpha, beta=beta)
src
: 輸入影像。alpha
: 乘法因子,用於線性縮放影像的對比度。如果 alpha
大於1,則增強對比度;如果 alpha
在0和1之間,則降低對比度。beta
: 加法因子,用於調整影像的亮度。可以通過增加或減少 beta
的值來調整影像的亮度。import cv2
image = cv2.imread('111.jpg')
# 增強對比度和亮度
adjusted_image = cv2.convertScaleAbs(image, alpha=1.5, beta=30)
# 顯示原始和增強後的影像
cv2.imshow('Original Image', image)
cv2.imshow('Adjusted Image', adjusted_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.addWeighted
cv2.addWeighted
用於將兩個影像進行線性組合,可用於調整影像的對比度和亮度。它通常用於混合兩張影像,調整它們的透明度,並在影像上疊加某些效果。
adjusted_image = cv2.addWeighted(image, alpha, np.zeros_like(image), 0, beta)
其中,alpha
是對比度的倍數,beta
是亮度的增量。
import cv2
import numpy as np
image = cv2.imread('111.jpg')
alpha = 1.5
beta = 30
# 增強對比度和亮度
adjusted_image = cv2.addWeighted(image, alpha, np.zeros_like(image), 0, beta)
# 顯示原始和增強後的影像
cv2.imshow('Original Image', image)
cv2.imshow('Adjusted Image', adjusted_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
如果你需要進行簡單的線性調整,或者對單通道(例如灰階)影像進行處理,則 cv2.convertScaleAbs
是一個簡單且有效的選擇。
如果你需要進行複雜的影像混合,則 cv2.addWeighted
可能更適合。