[OpenCV][Python]使用Dnn_superres提高圖片的解析度,模糊變高清

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

現在有一推AI網站提供模糊圖片變高清的工具,Google關鍵字一下就一推了,例如MyEditArtguru等等。

Python的OpenCV有提供一個DnnSuperResImpl Class Reference,也可以做到這件事,就讓我們繼續往下看吧。


OpenCV DnnSuperResImpl提供的四個模型可載入使用:

  • edsr
  • espcn
  • fsrcnn
  • lapsrn

其中EDSR是精度最高的,但速度最久檔案最大,我們就利用這個模型來測試一下。

EDSR訓練數據:

  • 數據集:收集大量的高解析度(High-Resolution, HR)圖像作為訓練數據集,並通過下採樣方法(如雙線性插值)生成相應的低分辨率(Low-Resolution, LR)圖像。
  • 配對:每張 HR 圖像與其對應的 LR 圖像形成一對訓練樣本,LR 圖像作為模型的輸入,HR 圖像作為目標輸出。

在由SRRe sNet訓練好的模型,可以用來讓低解析度的圖像縮放成高解析度的圖像。


EDSR(Enhanced Deep Residual Networks for Single Image Super-Resolution)是一種基於深度學習的超分辨率(super-resolution)方法。它由 Bee Lim 等人在 2017 年提出,目的在提高圖像的解析度品質


EDSR結果圖

從111*148大小,已2的倍數不斷放大

raw-image

雙三次插值結果圖

使用cv2.resize一樣2倍的放大,做個比較

raw-image

EDSR與雙三次插值比較圖

EDSR縮放的效果明顯看起來比雙三次插值還來的自然一點。

raw-image

安裝套件

OpenCV 要4.3.0以上
install opencv-contrib-python

測試的套件版本

opencv-contrib-python-headless    4.10.0.84
opencv-python 4.7.0.72
opencv-python-headless 4.10.0.84

程式範例

EDSR Model下載

import cv2
from cv2 import dnn_superres

# 初始化DnnSuperResImpl_create
sr = dnn_superres.DnnSuperResImpl_create()

# 讀取圖片
img = cv2.imread('路徑')

# 讀取預訓練的模型,這裡使用 EDSR_x2模型放大2
sr.readModel("EDSR_x2.pb")

# 設置模型類型和放大倍率
sr.setModel("edsr", 2)

# 放大圖像
img = sr.upsample(img)
# 保存放大的影像
cv2.imwrite('路徑', img)

參考文獻




留言
avatar-img
留言分享你的想法!
avatar-img
螃蟹_crab的沙龍
149會員
291內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。 興趣是攝影,踏青,探索未知領域。 人生就是不斷的挑戰及自我認清,希望老了躺在床上不會後悔自己什麼都沒做。
螃蟹_crab的沙龍的其他內容
2025/03/24
在影像處理或機器學習的應用中,我們常常需要將影片逐幀擷取出來,進一步進行辨識或分析。 本篇教學將示範如何使用 Python + OpenCV 來: ✅ 讀取 MP4 影片 測試影片可由下方超連結下載,從file-examples.com下載 file-examples.com 是一個 免費提
Thumbnail
2025/03/24
在影像處理或機器學習的應用中,我們常常需要將影片逐幀擷取出來,進一步進行辨識或分析。 本篇教學將示範如何使用 Python + OpenCV 來: ✅ 讀取 MP4 影片 測試影片可由下方超連結下載,從file-examples.com下載 file-examples.com 是一個 免費提
Thumbnail
2024/10/11
本文將指導你如何修改現有的 OpenCV 程式碼,使其利用 CUDA 加速進行深度神經網絡(DNN)推理,如超分辨率圖像放大任務。這將顯著提升運行速度,特別是在高分辨率圖像處理中。 在CMake上這選項要開,才可支援DNN模組。 CMake編譯OpenCV教學文 連結 [OpenCV][Py
Thumbnail
2024/10/11
本文將指導你如何修改現有的 OpenCV 程式碼,使其利用 CUDA 加速進行深度神經網絡(DNN)推理,如超分辨率圖像放大任務。這將顯著提升運行速度,特別是在高分辨率圖像處理中。 在CMake上這選項要開,才可支援DNN模組。 CMake編譯OpenCV教學文 連結 [OpenCV][Py
Thumbnail
2024/10/10
OpenCV 提供了專門針對 CUDA 優化的模組,這些模組使用 cv2.cuda 命名空間,並且可以直接使用 GPU 進行加速。,cv2.cuda 模塊需要在 OpenCV 編譯時啟用 CUDA 支援才能使用。 本文主要比較經過CMAKE重新編譯OpenCV使其支援Cuda,原OpenCV只支援
Thumbnail
2024/10/10
OpenCV 提供了專門針對 CUDA 優化的模組,這些模組使用 cv2.cuda 命名空間,並且可以直接使用 GPU 進行加速。,cv2.cuda 模塊需要在 OpenCV 編譯時啟用 CUDA 支援才能使用。 本文主要比較經過CMAKE重新編譯OpenCV使其支援Cuda,原OpenCV只支援
Thumbnail
看更多
你可能也想看
Thumbnail
本文將說明如何去辨識出圖片文字​位置及高寬。
Thumbnail
本文將說明如何去辨識出圖片文字​位置及高寬。
Thumbnail
常見的圖像銳利化方法: 銳化濾波器 增強對比度 Unsharp Masking
Thumbnail
常見的圖像銳利化方法: 銳化濾波器 增強對比度 Unsharp Masking
Thumbnail
當你下定決心想要創作完美的圖片時,是否總是感到生圖製圖工具太過複雜、難以使用?別擔心!今天我們將介紹一款簡單直覺的 AI 生圖工具,幫助大家輕鬆製作出美美的圖片!   Stylar.ai 是一款極具多功能的 AI 圖片生成工具,旨在讓圖像處理變得更加容易且具有創造性。無論是要匯入圖片還是文
Thumbnail
當你下定決心想要創作完美的圖片時,是否總是感到生圖製圖工具太過複雜、難以使用?別擔心!今天我們將介紹一款簡單直覺的 AI 生圖工具,幫助大家輕鬆製作出美美的圖片!   Stylar.ai 是一款極具多功能的 AI 圖片生成工具,旨在讓圖像處理變得更加容易且具有創造性。無論是要匯入圖片還是文
Thumbnail
Leonardo.ai 的 Universal Upscaler是一款功能強大的 AI 圖像升級工具,可以幫助我們解決圖像模糊的問題,可以將低解析度的圖像轉換為高解析度圖像,並保留圖像的清晰度和細節。
Thumbnail
Leonardo.ai 的 Universal Upscaler是一款功能強大的 AI 圖像升級工具,可以幫助我們解決圖像模糊的問題,可以將低解析度的圖像轉換為高解析度圖像,並保留圖像的清晰度和細節。
Thumbnail
在影像處理中,我們總是想要讓特徵更加明顯一點,可以使用銳利化的方式將特徵的邊緣增強,提升影像的細節,圖像銳利後就會有提升解析度的感覺。 拉普拉斯運算子是一種常用於影像增強的方法之一,特別是用於提高影像的邊緣和細節。 在OpenCV中,你可以使用cv2.Laplacian函數來應用拉普拉斯運算子。
Thumbnail
在影像處理中,我們總是想要讓特徵更加明顯一點,可以使用銳利化的方式將特徵的邊緣增強,提升影像的細節,圖像銳利後就會有提升解析度的感覺。 拉普拉斯運算子是一種常用於影像增強的方法之一,特別是用於提高影像的邊緣和細節。 在OpenCV中,你可以使用cv2.Laplacian函數來應用拉普拉斯運算子。
Thumbnail
直方圖均衡化處理是一種通過調整圖像的直方圖來改變圖像外觀和質量的圖像處理技術。這通常涉及對圖像的亮度、對比度和顏色分佈進行調整 此方法對於背景和前景均亮或均暗的影像很有用。​並在曝光過度或曝光不足的照片中獲得更好的細節。
Thumbnail
直方圖均衡化處理是一種通過調整圖像的直方圖來改變圖像外觀和質量的圖像處理技術。這通常涉及對圖像的亮度、對比度和顏色分佈進行調整 此方法對於背景和前景均亮或均暗的影像很有用。​並在曝光過度或曝光不足的照片中獲得更好的細節。
Thumbnail
在某些特別的情況下,需要去調整亮度及對比度,讓我們想要的影像特徵更加明顯 本文將介紹利用這兩個函數 cv2.convertScaleAbs 和 cv2.addWeighted 來調整亮度及對比度。
Thumbnail
在某些特別的情況下,需要去調整亮度及對比度,讓我們想要的影像特徵更加明顯 本文將介紹利用這兩個函數 cv2.convertScaleAbs 和 cv2.addWeighted 來調整亮度及對比度。
Thumbnail
涉及圖像處理和計算機視覺時,色彩空間轉換是一個常見操作,應用如下: 降維: 將一張彩色圖像轉換為灰度圖像可以減少數據的維度,簡化處理過程,同時在某些情況下保留重要的視覺信息。 突顯特徵: 在某些情況下,某些色彩通道可能包含冗餘或不必要的信息,通過轉換到其他色彩空間,可以更好地突顯圖像中的重要特徵
Thumbnail
涉及圖像處理和計算機視覺時,色彩空間轉換是一個常見操作,應用如下: 降維: 將一張彩色圖像轉換為灰度圖像可以減少數據的維度,簡化處理過程,同時在某些情況下保留重要的視覺信息。 突顯特徵: 在某些情況下,某些色彩通道可能包含冗餘或不必要的信息,通過轉換到其他色彩空間,可以更好地突顯圖像中的重要特徵
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News