[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
128會員
213內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
螃蟹_crab的沙龍 的其他內容
直方圖均衡化處理是一種通過調整圖像的直方圖來改變圖像外觀和質量的圖像處理技術。這通常涉及對圖像的亮度、對比度和顏色分佈進行調整 此方法對於背景和前景均亮或均暗的影像很有用。​並在曝光過度或曝光不足的照片中獲得更好的細節。
直方圖是對圖像中像素強度分布的圖形表示。通過分析直方圖,我們可以獲得有關圖像對比度、亮度和色彩分佈的有用信息。
在某些特別的情況下,需要去調整亮度及對比度,讓我們想要的影像特徵更加明顯 本文將介紹利用這兩個函數 cv2.convertScaleAbs 和 cv2.addWeighted 來調整亮度及對比度。
涉及圖像處理和計算機視覺時,色彩空間轉換是一個常見操作,應用如下: 降維: 將一張彩色圖像轉換為灰度圖像可以減少數據的維度,簡化處理過程,同時在某些情況下保留重要的視覺信息。 突顯特徵: 在某些情況下,某些色彩通道可能包含冗餘或不必要的信息,通過轉換到其他色彩空間,可以更好地突顯圖像中的重要特徵
warpAffine 和 warpPerspective 都是 OpenCV 中用於圖像變換的函數,主要差異在於這兩種函數所使用的變換矩陣的類型和適用場景。 本文主要討論warpAffine,另外warpPerspective可以此篇文章
當我們在拍照時,有時候會期望圖像中物體是呈現我們想要的樣子,就可以利用透視變換的方式,將物體捏造成我們想要的樣子。 當我們拍攝文件或書籍時,如果有角度和距離的變化,文件可能會變形。透視變換可用於校正這種變形,使文件呈現平整的視覺效果。 cv2.warpPerspective
直方圖均衡化處理是一種通過調整圖像的直方圖來改變圖像外觀和質量的圖像處理技術。這通常涉及對圖像的亮度、對比度和顏色分佈進行調整 此方法對於背景和前景均亮或均暗的影像很有用。​並在曝光過度或曝光不足的照片中獲得更好的細節。
直方圖是對圖像中像素強度分布的圖形表示。通過分析直方圖,我們可以獲得有關圖像對比度、亮度和色彩分佈的有用信息。
在某些特別的情況下,需要去調整亮度及對比度,讓我們想要的影像特徵更加明顯 本文將介紹利用這兩個函數 cv2.convertScaleAbs 和 cv2.addWeighted 來調整亮度及對比度。
涉及圖像處理和計算機視覺時,色彩空間轉換是一個常見操作,應用如下: 降維: 將一張彩色圖像轉換為灰度圖像可以減少數據的維度,簡化處理過程,同時在某些情況下保留重要的視覺信息。 突顯特徵: 在某些情況下,某些色彩通道可能包含冗餘或不必要的信息,通過轉換到其他色彩空間,可以更好地突顯圖像中的重要特徵
warpAffine 和 warpPerspective 都是 OpenCV 中用於圖像變換的函數,主要差異在於這兩種函數所使用的變換矩陣的類型和適用場景。 本文主要討論warpAffine,另外warpPerspective可以此篇文章
當我們在拍照時,有時候會期望圖像中物體是呈現我們想要的樣子,就可以利用透視變換的方式,將物體捏造成我們想要的樣子。 當我們拍攝文件或書籍時,如果有角度和距離的變化,文件可能會變形。透視變換可用於校正這種變形,使文件呈現平整的視覺效果。 cv2.warpPerspective
你可能也想看
Google News 追蹤
Thumbnail
視覺層級並不侷限於平面設計,在用戶體驗及介面上更是一個重要的核心之一。視覺層級除了讓畫面的視覺編排更加精緻好看,更重要的功能是能讓畫面有效地被組織,讓觀者更容易理解。
Thumbnail
介紹不同的渲染技術和軟體應用,包括戲劇性對比度、虛幻引擎、OC渲染、建築渲染、V射線、3D渲染、PBR等,讓您深入瞭解這些技術對於創造視覺吸引力和真實感的重要性。
Thumbnail
想拍出美美的夜景車流燈影照片注意要項: 1-調降ISO值: ISO值越高,訊噪便越強,因此調降ISO值,畫質才會變得細膩 2-盡量縮小光圈: 縮小光圈可以讓景深變深,讓畫面呈現清晰與銳利 3-使用慢速快門: 目的是延長曝光時間,當快門速度在1~數分鐘時,就能產生車
Thumbnail
每種光線都有它特定的功用,巧妙運用這些光線,就像施展了魔法般,為作品賦予不同的情感和意境,也大大提升作品的視覺效果和感染力,今天跟你介紹八個光線提示詞,來讓作品賦予獨特的情感和意境。
Thumbnail
人工智慧技術為攝影帶來新創意和可能性,透過不同鏡頭景深,呈現多樣化風格和視覺效果。本文介紹遠景、全景、中景、近景、特寫和廣角等不同攝影拍攝技巧。
Thumbnail
當今數位化快速發展的時代,圖像處理已經成為平面設計、出版業以及廣告製作中不可或缺的一環。Adobe Illustrator和InDesign作為行業內公認的專業設計軟件,它們在處理各式各樣的影像方面擁有強大的功能,但同時也伴隨著諸多需要注意的細節。今天,讓我們深入探討置入影像時的細節管理,從色彩模式
Thumbnail
當我們在進行影像處理時, 在Python的世界最常聽到的就是OpenCV, 而我們在處理影片時也會想要僅針對某時間段的影片進行處理, 今天我們就來教您如何透過OpenCV來讀取特定的時間區段。 在進入主題之前, 有一些基本概念務必先行建立, 一個影片是由多張圖片組成的, 因此最小單元為一張圖
Thumbnail
點陣圖 點陣圖是由許多方格像素組成的圖片, 因此我們常常在將圖片放大時會呈現像是馬賽克的狀況, 假設期望圖片越清晰那所需要的像素會較多個, 因此空間耗用量也相對較大。 常見的格式有: .JPG .PNG .GIF .BMP .TIFF等格式。 繪製程式碼: 向量圖 向量
Thumbnail
前篇測試如何把提示詞生成的圖像細節提高,這篇要測試的工作流是把任意圖像載入後經由放大模型放大,同時測試放大後重繪看看效果如何。
Thumbnail
當您需要對圖片進行優化調整,提升圖像質量時,您可能需要用到圖像增強軟體。一般來說圖片增強軟體會對您的圖像質量進行提升,有的時候您甚至能奇蹟般地獲得一張特別出彩的照片,因為部分圖片增強軟體融入了先進的人工智慧圖形改進技術,但前提是您選擇正確的圖片增強器。快使用圖像增強軟體實現照片編輯的魔力,完成前所未
Thumbnail
視覺層級並不侷限於平面設計,在用戶體驗及介面上更是一個重要的核心之一。視覺層級除了讓畫面的視覺編排更加精緻好看,更重要的功能是能讓畫面有效地被組織,讓觀者更容易理解。
Thumbnail
介紹不同的渲染技術和軟體應用,包括戲劇性對比度、虛幻引擎、OC渲染、建築渲染、V射線、3D渲染、PBR等,讓您深入瞭解這些技術對於創造視覺吸引力和真實感的重要性。
Thumbnail
想拍出美美的夜景車流燈影照片注意要項: 1-調降ISO值: ISO值越高,訊噪便越強,因此調降ISO值,畫質才會變得細膩 2-盡量縮小光圈: 縮小光圈可以讓景深變深,讓畫面呈現清晰與銳利 3-使用慢速快門: 目的是延長曝光時間,當快門速度在1~數分鐘時,就能產生車
Thumbnail
每種光線都有它特定的功用,巧妙運用這些光線,就像施展了魔法般,為作品賦予不同的情感和意境,也大大提升作品的視覺效果和感染力,今天跟你介紹八個光線提示詞,來讓作品賦予獨特的情感和意境。
Thumbnail
人工智慧技術為攝影帶來新創意和可能性,透過不同鏡頭景深,呈現多樣化風格和視覺效果。本文介紹遠景、全景、中景、近景、特寫和廣角等不同攝影拍攝技巧。
Thumbnail
當今數位化快速發展的時代,圖像處理已經成為平面設計、出版業以及廣告製作中不可或缺的一環。Adobe Illustrator和InDesign作為行業內公認的專業設計軟件,它們在處理各式各樣的影像方面擁有強大的功能,但同時也伴隨著諸多需要注意的細節。今天,讓我們深入探討置入影像時的細節管理,從色彩模式
Thumbnail
當我們在進行影像處理時, 在Python的世界最常聽到的就是OpenCV, 而我們在處理影片時也會想要僅針對某時間段的影片進行處理, 今天我們就來教您如何透過OpenCV來讀取特定的時間區段。 在進入主題之前, 有一些基本概念務必先行建立, 一個影片是由多張圖片組成的, 因此最小單元為一張圖
Thumbnail
點陣圖 點陣圖是由許多方格像素組成的圖片, 因此我們常常在將圖片放大時會呈現像是馬賽克的狀況, 假設期望圖片越清晰那所需要的像素會較多個, 因此空間耗用量也相對較大。 常見的格式有: .JPG .PNG .GIF .BMP .TIFF等格式。 繪製程式碼: 向量圖 向量
Thumbnail
前篇測試如何把提示詞生成的圖像細節提高,這篇要測試的工作流是把任意圖像載入後經由放大模型放大,同時測試放大後重繪看看效果如何。
Thumbnail
當您需要對圖片進行優化調整,提升圖像質量時,您可能需要用到圖像增強軟體。一般來說圖片增強軟體會對您的圖像質量進行提升,有的時候您甚至能奇蹟般地獲得一張特別出彩的照片,因為部分圖片增強軟體融入了先進的人工智慧圖形改進技術,但前提是您選擇正確的圖片增強器。快使用圖像增強軟體實現照片編輯的魔力,完成前所未