[OpenCV基礎][Python]影像增強_影像銳利化

更新 發佈閱讀 5 分鐘

在影像處理中,我們總是想要讓特徵更加明顯一點,可以使用銳利化方式將特徵的邊緣增強,提升影像的細節,圖像銳利後就會有提升解析度的感覺。

銳利化後

銳利化後

常見的圖像銳利化方法:

  1. 銳化濾波器:使用 OpenCV 的 cv2.filter2D 函數搭配適當的濾波核(如拉普拉斯濾波器)可以進行圖像銳利化。
  2. 增強對比度:可以通過調整圖像的對比度來增強圖像的銳利度,這可以通過直方圖均衡化或對比度增強的方法來實現。
  3. Unsharp Masking:這是一種常見的圖像銳化技術,通過將原始圖像和模糊版本的圖像相減,再加回原始圖像,可以得到銳利化的效果。


以下程式範例將用Unsharp Masking來實現圖像銳化:


拉普拉斯運算子是一種常用於影像增強的方法之一,特別是用於提高影像的邊緣細節。

在OpenCV中,你可以使用cv2.Laplacian函數來應用拉普拉斯運算子。


cv2.Laplacian 函式的基本語法:

#標準函式​
dst = cv2.Laplacian(src, ddepth[, dst[, ksize[, scale[, delta[, borderType]]]]])

#常用
laplacian = cv2.Laplacian(img, cv2.CV_64F)
  • src: 原始影像,可以是灰度影像或彩色影像。
  • ddepth: 輸出影像的深度(通常是 cv2.CV_8U、cv2.CV_16U、cv2.CV_64F 等)。
  • dst: 輸出影像。如果未提供,函數會自動創建一個與 src 大小和深度相同的影像。
  • ksize: 使用的拉普拉斯運算子的內核大小。如果未提供,則默認為3。
  • scale: 結果的比例因子,可以用於增強或減弱拉普拉斯梯度。默認為1。
  • delta: 結果的偏移值,可以用於調整結果的亮度。默認為0。
  • borderType: 設置邊界擴充的方式。默認為 cv2.BORDER_DEFAULT

這個函數返回一個包含拉普拉斯梯度的影像

通常,你會在這個結果上進一步進行處理,例如使用 cv2.convertScaleAbs 將結果轉為無符號八位整數形式


程式範例

import cv2
import numpy as np

def laplacian_sharpen(image_path, output_path):
# 讀取影像
img = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)

# 使用拉普拉斯運算子
laplacian = cv2.Laplacian(img, cv2.CV_64F)

# 將負值轉為正值
laplacian = cv2.convertScaleAbs(laplacian)

# 將原始影像和拉普拉斯增強的影像結合
sharpened_img = cv2.addWeighted(img, 1.5, laplacian, -0.5, 0)

# 保存結果
cv2.imwrite(output_path, sharpened_img)

# 呼叫函式,替換為你的輸入和輸出路徑
laplacian_sharpen('input_image.jpg', 'output_image_laplacian.jpg')
銳化比較圖

銳化比較圖

銳化後的圖就是使用cv2.addWeighted函數結合灰階的影像拉普拉斯增強影像

拉普拉斯增的圖

拉普拉斯增的圖

原圖直接銳利化。

程式範例第六行,cv2.IMREAD_GRAYSCALE拿掉即可。

# 讀取影像
img = cv2.imread(image_path)

些額外的參數可以調整以達到更好的影像增強效果。

程式範例第七行,拉普拉斯運算子新增其他參數

# 使用拉普拉斯運算子
laplacian = cv2.Laplacian(img, cv2.CV_64F, scale=2, delta=50)
不同參數比較

不同參數比較

以下是一些與 cv2.Laplacian 相關的重要參數:

ksize:

  • 參數類型:整數
  • 預設值:3(3x3 的運算子)
  • 內容:指定拉普拉斯運算子的內核大小。內核大小越大,檢測到的細節和邊緣越粗糙。
# 使用 5x5 的拉普拉斯運算子
laplacian = cv2.Laplacian(img, cv2.CV_64F, ksize=5)

ddepth:

  • 參數類型:整數
  • 預設值:-1(與原始影像相同的深度)
  • 內容:指定輸出影像的深度。通常情況下,使用 -1 表示與原始影像相同的深度,但你也可以指定其他深度值,例如 cv2.CV_8U
# 使用 8 位無符號深度的輸出影像
laplacian = cv2.Laplacian(img, cv2.CV_8U)

scale 和 delta:

  • scale 參數類型:浮點數
  • delta 參數類型:浮點數
  • 預設值:scale=1, delta=0
  • 內容:scale 用於縮放拉普拉斯運算子的結果,而 delta 用於調整結果的亮度。這兩個參數可以用來調整增強效果。
# 使用不同的 scale 和 delta 值
laplacian = cv2.Laplacian(img, cv2.CV_64F, scale=2, delta=50)


根據應用的需求和影像的特性來調整這些參數。在實際應用中,通常需要不斷嘗試不同的參數組合,以找到最適合的影像增強效果。






留言
avatar-img
留言分享你的想法!
avatar-img
螃蟹_crab的沙龍
153會員
297內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。 興趣是攝影,踏青,探索未知領域。 人生就是不斷的挑戰及自我認清,希望老了躺在床上不會後悔自己什麼都沒做。
螃蟹_crab的沙龍的其他內容
2025/02/15
在電腦視覺應用中,輪廓(Contour)常用來描述物體的邊界。 當圖像中有雜訊或物體邊緣過於複雜時,我們可以利用輪廓逼近技術,將輪廓簡化成較少點數的多邊形,這不僅有助於後續的形狀分析,也能提高處理速度。 本文將介紹如何使用 OpenCV 中的 cv2.arcLength 與 cv2.approx
Thumbnail
2025/02/15
在電腦視覺應用中,輪廓(Contour)常用來描述物體的邊界。 當圖像中有雜訊或物體邊緣過於複雜時,我們可以利用輪廓逼近技術,將輪廓簡化成較少點數的多邊形,這不僅有助於後續的形狀分析,也能提高處理速度。 本文將介紹如何使用 OpenCV 中的 cv2.arcLength 與 cv2.approx
Thumbnail
2024/12/02
中值濾波器(Adaptive Median Filter)是一種針對噪聲去除的圖像處理技術,主要應用於處理含有椒鹽雜訊的圖像,但在椒鹽雜訊過大時就會面臨,若為了處理掉雜訊,使用的處理窗口(kernel)就要大一點,會造成圖像的邊緣模糊掉。 後面為解決這個問題,就發展了自適應中值濾波器,其概念源自於
Thumbnail
2024/12/02
中值濾波器(Adaptive Median Filter)是一種針對噪聲去除的圖像處理技術,主要應用於處理含有椒鹽雜訊的圖像,但在椒鹽雜訊過大時就會面臨,若為了處理掉雜訊,使用的處理窗口(kernel)就要大一點,會造成圖像的邊緣模糊掉。 後面為解決這個問題,就發展了自適應中值濾波器,其概念源自於
Thumbnail
2024/10/03
在影像處理中,形態學操作是非常重要的一種技術,能夠幫助我們去除噪點、強化特徵、修復物體的形狀等。形態學操作的核心是「結構元素」(kernel),不同形狀的結構元素會產生不同的處理效果。本文將介紹如何使用不同形狀的結構元素來進行圖像處理,並結合實際程式範例和測試圖片來說明其效果。
Thumbnail
2024/10/03
在影像處理中,形態學操作是非常重要的一種技術,能夠幫助我們去除噪點、強化特徵、修復物體的形狀等。形態學操作的核心是「結構元素」(kernel),不同形狀的結構元素會產生不同的處理效果。本文將介紹如何使用不同形狀的結構元素來進行圖像處理,並結合實際程式範例和測試圖片來說明其效果。
Thumbnail
看更多
你可能也想看
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
常見的圖像銳利化方法: 銳化濾波器 增強對比度 Unsharp Masking
Thumbnail
常見的圖像銳利化方法: 銳化濾波器 增強對比度 Unsharp Masking
Thumbnail
伽瑪校正(Gamma correction)被視為影像增強的一種方法之一。 通過調整 gamma 值,可以改變圖像的亮度和對比度,從而使圖像更清晰或更具有視覺效果。 以下將利用cv2.LUT及numpy的組合實現伽瑪校正,及詳細介紹cv2.LUT 函式應用。
Thumbnail
伽瑪校正(Gamma correction)被視為影像增強的一種方法之一。 通過調整 gamma 值,可以改變圖像的亮度和對比度,從而使圖像更清晰或更具有視覺效果。 以下將利用cv2.LUT及numpy的組合實現伽瑪校正,及詳細介紹cv2.LUT 函式應用。
Thumbnail
在影像處理中,我們總是想要讓特徵更加明顯一點,可以使用銳利化的方式將特徵的邊緣增強,提升影像的細節,圖像銳利後就會有提升解析度的感覺。 拉普拉斯運算子是一種常用於影像增強的方法之一,特別是用於提高影像的邊緣和細節。 在OpenCV中,你可以使用cv2.Laplacian函數來應用拉普拉斯運算子。
Thumbnail
在影像處理中,我們總是想要讓特徵更加明顯一點,可以使用銳利化的方式將特徵的邊緣增強,提升影像的細節,圖像銳利後就會有提升解析度的感覺。 拉普拉斯運算子是一種常用於影像增強的方法之一,特別是用於提高影像的邊緣和細節。 在OpenCV中,你可以使用cv2.Laplacian函數來應用拉普拉斯運算子。
Thumbnail
直方圖均衡化處理是一種通過調整圖像的直方圖來改變圖像外觀和質量的圖像處理技術。這通常涉及對圖像的亮度、對比度和顏色分佈進行調整 此方法對於背景和前景均亮或均暗的影像很有用。​並在曝光過度或曝光不足的照片中獲得更好的細節。
Thumbnail
直方圖均衡化處理是一種通過調整圖像的直方圖來改變圖像外觀和質量的圖像處理技術。這通常涉及對圖像的亮度、對比度和顏色分佈進行調整 此方法對於背景和前景均亮或均暗的影像很有用。​並在曝光過度或曝光不足的照片中獲得更好的細節。
Thumbnail
直方圖是對圖像中像素強度分布的圖形表示。通過分析直方圖,我們可以獲得有關圖像對比度、亮度和色彩分佈的有用信息。
Thumbnail
直方圖是對圖像中像素強度分布的圖形表示。通過分析直方圖,我們可以獲得有關圖像對比度、亮度和色彩分佈的有用信息。
Thumbnail
在某些特別的情況下,需要去調整亮度及對比度,讓我們想要的影像特徵更加明顯 本文將介紹利用這兩個函數 cv2.convertScaleAbs 和 cv2.addWeighted 來調整亮度及對比度。
Thumbnail
在某些特別的情況下,需要去調整亮度及對比度,讓我們想要的影像特徵更加明顯 本文將介紹利用這兩個函數 cv2.convertScaleAbs 和 cv2.addWeighted 來調整亮度及對比度。
Thumbnail
涉及圖像處理和計算機視覺時,色彩空間轉換是一個常見操作,應用如下: 降維: 將一張彩色圖像轉換為灰度圖像可以減少數據的維度,簡化處理過程,同時在某些情況下保留重要的視覺信息。 突顯特徵: 在某些情況下,某些色彩通道可能包含冗餘或不必要的信息,通過轉換到其他色彩空間,可以更好地突顯圖像中的重要特徵
Thumbnail
涉及圖像處理和計算機視覺時,色彩空間轉換是一個常見操作,應用如下: 降維: 將一張彩色圖像轉換為灰度圖像可以減少數據的維度,簡化處理過程,同時在某些情況下保留重要的視覺信息。 突顯特徵: 在某些情況下,某些色彩通道可能包含冗餘或不必要的信息,通過轉換到其他色彩空間,可以更好地突顯圖像中的重要特徵
Thumbnail
形態學操作在影像處理中有多種應用,特別是在處理二值化影像(黑白影像)。 在影像處理應用上,基本上都由侵蝕,膨脹這兩種方法,組合搭配而成。 常見應用場景 物體檢測與分割: 形態學操作可以用於增強或改善二值化影像中的物體邊界,使得物體的檢測和分割更加準確。
Thumbnail
形態學操作在影像處理中有多種應用,特別是在處理二值化影像(黑白影像)。 在影像處理應用上,基本上都由侵蝕,膨脹這兩種方法,組合搭配而成。 常見應用場景 物體檢測與分割: 形態學操作可以用於增強或改善二值化影像中的物體邊界,使得物體的檢測和分割更加準確。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News