[OpenCV基礎][Python]影像增強_亮度和對比度調整

[OpenCV基礎][Python]影像增強_亮度和對比度調整

更新於 發佈於 閱讀時間約 3 分鐘

在某些特別的情況下,需要去調整亮度及對比度,讓我們想要的影像特徵更加明顯

本文將介紹利用這兩個函數 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 可能更適合。



avatar-img
螃蟹_crab的沙龍
138會員
244內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。
留言
avatar-img
留言分享你的想法!
螃蟹_crab的沙龍 的其他內容
在電腦視覺應用中,輪廓(Contour)常用來描述物體的邊界。 當圖像中有雜訊或物體邊緣過於複雜時,我們可以利用輪廓逼近技術,將輪廓簡化成較少點數的多邊形,這不僅有助於後續的形狀分析,也能提高處理速度。 本文將介紹如何使用 OpenCV 中的 cv2.arcLength 與 cv2.approx
中值濾波器(Adaptive Median Filter)是一種針對噪聲去除的圖像處理技術,主要應用於處理含有椒鹽雜訊的圖像,但在椒鹽雜訊過大時就會面臨,若為了處理掉雜訊,使用的處理窗口(kernel)就要大一點,會造成圖像的邊緣模糊掉。 後面為解決這個問題,就發展了自適應中值濾波器,其概念源自於
在影像處理中,形態學操作是非常重要的一種技術,能夠幫助我們去除噪點、強化特徵、修復物體的形狀等。形態學操作的核心是「結構元素」(kernel),不同形狀的結構元素會產生不同的處理效果。本文將介紹如何使用不同形狀的結構元素來進行圖像處理,並結合實際程式範例和測試圖片來說明其效果。
在電腦視覺應用中,輪廓(Contour)常用來描述物體的邊界。 當圖像中有雜訊或物體邊緣過於複雜時,我們可以利用輪廓逼近技術,將輪廓簡化成較少點數的多邊形,這不僅有助於後續的形狀分析,也能提高處理速度。 本文將介紹如何使用 OpenCV 中的 cv2.arcLength 與 cv2.approx
中值濾波器(Adaptive Median Filter)是一種針對噪聲去除的圖像處理技術,主要應用於處理含有椒鹽雜訊的圖像,但在椒鹽雜訊過大時就會面臨,若為了處理掉雜訊,使用的處理窗口(kernel)就要大一點,會造成圖像的邊緣模糊掉。 後面為解決這個問題,就發展了自適應中值濾波器,其概念源自於
在影像處理中,形態學操作是非常重要的一種技術,能夠幫助我們去除噪點、強化特徵、修復物體的形狀等。形態學操作的核心是「結構元素」(kernel),不同形狀的結構元素會產生不同的處理效果。本文將介紹如何使用不同形狀的結構元素來進行圖像處理,並結合實際程式範例和測試圖片來說明其效果。