第3章 Python 數字圖像處理(DIP) - 灰度變換與空間濾波16 - 銳化高通濾波器 - 鈍化掩蔽和高提升濾波

目錄

  • 銳化(高通)空間濾波器
      • 鈍化掩蔽和高提升濾波

銳化(高通)空間濾波器

  • 平滑通過稱為低通濾波
  • 類似于積分運算
  • 銳化通常稱為高通濾波
  • 微分運算
  • 高過(負責細節的)高頻,衰減或抑制低頻

鈍化掩蔽和高提升濾波

  • 鈍化掩蔽

  • 從原圖像中減去一幅鈍化(平滑后的)圖像

  • 步驟:

  1. 模糊原圖像
  2. 從原圖像減去模糊后的圖像(產生的差稱為模板)
  3. 將模板與原圖像相加

fˉ(x,y)\bar f(x,y)fˉ?(x,y)表示模糊后的圖像,則有
gmask(x,y)=f(x,y)?fˉ(x,y)(3.55)g_{mask}(x, y) = f(x, y) - \bar f(x,y) \tag{3.55}gmask?(x,y)=f(x,y)?fˉ?(x,y)(3.55)
g(x,y)=f(x,y)+kgmask(x,y)(3.56)g(x,y) = f(x,y) + k g_{mask}(x, y) \tag{3.56}g(x,y)=f(x,y)+kgmask?(x,y)(3.56)
權值k≥0k \ge 0k0k=1k = 1k=1時,它是鈍化掩蔽k>1k > 1k>1時,這個過程稱為高提升濾波,選擇k≤1k \leq 1k1可以減少鈍化模板的貢獻。

# 鈍化掩蔽過程
y = np.linspace(0.4,1, 7)
y = np.pad(y, (4, 4), mode='constant', constant_values=[0.4, 1])fig = plt.figure(figsize=(16, 8))
ax_1 = fig.add_subplot(2, 2, 1)
ax_1.plot(y, '-', label="y")
ax_1.legend(loc='best', fontsize=12)kernel = np.array([0.2, 0.6, 0.2])
y_bar = np.convolve(y, kernel, 'same')y_bar = y_bar[1:-1]
ax_2 = fig.add_subplot(2, 2, 2)
ax_2.plot(y_bar, '-', label='Smooth')
ax_2.legend(loc='best', fontsize=12)y = y[1:-1]
y_mask = y - y_barax_3 = fig.add_subplot(2, 2, 3)
ax_3.plot(y_mask, '-', label='y - y_bar')
ax_3.legend(loc='best', fontsize=12)y_dst = y + y_mask
y_dst = normalize(y_dst)
ax_4 = fig.add_subplot(2, 2, 4)
ax_4.plot(y_dst, '-', label='y + y_mask')
ax_4.legend(loc='best', fontsize=12)plt.tight_layout()
plt.show()

在這里插入圖片描述

# 純化掩蔽與高提升濾波
img_ori = cv2.imread("DIP_Figures/DIP3E_Original_Images_CH03/Fig0338(a)(blurry_moon).tif", 0)kernel_31 = gauss_kernel((9, 9), sigma=1)
img_31 = separate_kernel_conv2D(img_ori, kernel=kernel_31)
img_31 = np.uint8(normalize(img_31) * 255)img_diff = img_ori - img_31img_dst_1 = img_ori + img_diff
img_dst_1 = np.uint8(normalize(img_dst_1) * 255)img_dst_2 = img_ori + 2 * img_diff
img_dst_2 = np.uint8(normalize(img_dst_2) * 255)img_dst_3 = img_ori - 3 * img_diff
img_dst_3 = np.uint8(normalize(img_dst_3) * 255)plt.figure(figsize=(15, 12))
plt.subplot(2,3,1), plt.imshow(img_ori,   'gray', vmax=255), plt.title("Original"), plt.xticks([]), plt.yticks([])
plt.subplot(2,3,2), plt.imshow(img_31,    'gray', vmax=255), plt.title("Smooth"), plt.xticks([]), plt.yticks([])
plt.subplot(2,3,3), plt.imshow(img_diff,  'gray', vmax=255), plt.title("Diff"), plt.xticks([]), plt.yticks([])
plt.subplot(2,3,4), plt.imshow(img_dst_1, 'gray', vmax=255), plt.title("k = 1"), plt.xticks([]), plt.yticks([])
plt.subplot(2,3,5), plt.imshow(img_dst_2, 'gray', vmax=255), plt.title("k = 2"), plt.xticks([]), plt.yticks([])
plt.subplot(2,3,6), plt.imshow(img_dst_2, 'gray', vmax=255), plt.title("k = 3"), plt.xticks([]), plt.yticks([])
plt.tight_layout()
plt.show()

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260764.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260764.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260764.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python畫圓并填充圖形顏色_如何使用python設計語言graphics繪制圓形圖形

在python設計語言中,可以利用第三方包graphics繪制不同的圖形,有圓形、直線、矩形等。如果想要繪制一個圓形,可以設置圓形的半徑和坐標位置。下面利用一個實例說明繪制圓形,操作如下:工具/原料 python 截圖工具 方法/步…

設計模式學習-工廠方法模式

在上文(設計模式學習-簡單工廠模式)的模擬場景中,我們用簡單工廠模式實現了VISA和MASTERARD卡的刷卡處理,系統成功上線并運行良好,突然有一天老大跑來說,我們的系統需要升級,提供對一般銀聯卡的支持。怎么辦&#xff1…

3ds Max Shortcuts 快捷鍵大全

主界面 【Q】選擇循環改變方式 【W】移動 【E】旋轉 【R】縮放循環改變方式 【7】物體面數 【8】Environment 【9】Advanced lighting 【0】Render to Textures 【1】【2】【3】【4】【5】分別對應5個次物體級別,例如Edit Mesh中的點、線、面、多邊形、 【F2】切換在…

word2010激活工具使用方法

1、關閉殺毒,關閉正打開著的word文檔 2、執行Activator_v1.2.exe-->Activation Office 2010VL --》按1 --》完畢。 3、打開word--》文件--》幫助--》看右上角。 2、【補充】使用 Office 2010 Toolkit 下載地址: http://vdisk.weibo.com/s/yoz9R 或…

python編程單詞排序_Python實現對文件進行單詞劃分并去重排序操作示例

本文實例講述了Python實現對文件進行單詞劃分并去重排序操作。分享給大家供大家參考,具體如下: 文件名:test1.txt 文件內容: But soft what light through yonder window breaks It is the east and Juliet is the sun Arise fair…

第3章 Python 數字圖像處理(DIP) - 灰度變換與空間濾波17 - 銳化高通濾波器 - 梯度圖像(羅伯特,Sobel算子)

目錄銳化(高通)空間濾波器使用一階導數銳化圖像-梯度銳化(高通)空間濾波器 平滑通過稱為低通濾波類似于積分運算銳化通常稱為高通濾波微分運算高過(負責細節的)高頻,衰減或抑制低頻…

如何學習Linux / 新手入門

如何學習Linux / 新手入門 一、從基礎開始:常常有些朋友在Linux論壇問一些問題,不過,其中大多數的問題都是很基礎的。例如:為什么我使用一個命令的時候,系統告訴我找不到該目錄,我要如何限制使用者的權限等…

opacity用法:

/* older safari/Chrome browsers */ -webkit-opacity: 0.5; /* Netscape and Older than Firefox 0.9 */ -moz-opacity: 0.5; /* Safari 1.x (pre WebKit!) 老式khtml內核的Safari瀏覽器*/ -khtml-opacity: 0.5; /* IE9 etc...modern browsers */ opacity: .5; /* IE…

網絡傳輸層之TCP、UDP詳解

1、傳輸層存在的必要性 由于網絡層的分組傳輸是不可靠的,無法了解數據到達終點的時間,無法了解數據未達終點的狀態。因此有必要增強網絡層提供服務的服務質量。 2、引入傳輸層的原因 面向連接的傳輸服務與面向連接的網絡服務類似,都分為建立連…

關機與禁止關機代碼

今天抽空,寫完了定時關機程序的代碼,測試了一下,還不錯,以前寫過個禁止關機的程序,用來測試一下,看哪個強,先運行禁止關機的程序,用Windows xp的關閉計算機試了一下,關不了. 代碼很少: private procedure QueryEndSession(var Msg:TMessage);Message WM_QueryEndSession;…

pythonweb開發面試_Python web 面試題(一)

1、列舉django的內置組件? url 、view、model、template、中間件 2、列舉django中間件的5個方法?以及django中間件的應用場景? process_request(self,request) process_view(self, request, callback, callback_args, callback_kwargs) proce…

第3章 Python 數字圖像處理(DIP) - 灰度變換與空間濾波18 - 低通、高通、帶阻和帶通濾波器、組合使用空間增強方法

低通、高通、帶阻和帶通濾波器 得到空間濾波器的第三種方法,生成一維濾波器函數,然后要么使用式(3.42)wvvTw vv^TwvvT生成二維可分離的濾波器函數,要么旋轉這些一維函數來生成二維核。旋轉后的一維函數是圓對稱(各向同性&#x…

MySQL兩千萬數據優化遷移

最近有一張2000W條記錄的數據表需要優化和遷移。2000W數據對于MySQL來說很尷尬,因為合理的創建索引速度還是挺快的,再怎么優化速度也得不到多大提升。不過這些數據有大量的冗余字段和錯誤信息,極不方便做統計和分析。所以我需要創建一張新表&…

Linux Tomcat 6.0安裝配置實踐總結

系統環境: Red Hat Enterprise Linux Server release 5.7 (Tikanga) 64位 Tomcat下載 從官方網站 http://tomcat.apache.org/下載你需要的Tomcat版本,目前Tomcat主要版本有Tomcat 6.0、Tomcat 7.0、Tomcat 8.0三個版本,下面我們以6.0(6.0.39…

如何給FormPanel表單中的元素賦值以及獲取表單元素值

1.定義表單元素的name屬性如下 var HLV new Ext.form.TextField({fieldLabel: 匯率,name:EXCHANGERATE,anchor: 30%}); 2.定義數據源 var ExchangeRatestore new Ext.data.Store({proxy: new Ext.data.HttpProxy({ url: WsECOTAX01.asmx/SelectExchangeRate, method: "po…

第4章 Python 數字圖像處理(DIP) - 頻率域濾波1 - 傅里葉級數和變換簡史

本章主要講解頻域域濾波的技術,主要技術用到是大家熟悉的傅里葉變換與傅里葉反變換。這里有比較多的篇幅講解的傅里葉的推導進程,用到Numpy傅里葉變換。本章理論基礎比較多,需要更多的耐心來閱讀,有發現有錯誤,可以與我…

python中str是什么函數_python str函數怎么用

展開全部 是將一個2113對象轉成字符串顯示5261,注意只是顯示用,有些對象4102轉成字符串沒有直1653接的意思。 str():將變量轉化為字符串類型 a 1 b [1, 2, 3] str_a str(a) print(a) print(type(a)) str_b str(b) print(b) print(type(b)) The str()…

[ofbiz]less-than (lt;) and greater-than (gt;) symbols

問題描述&#xff1a; In field [updateItemStr] less-than (<) and greater-than (>) symbols are not allowed 此處的field [updateItemStr]是services的一個IN參數&#xff0c;錯誤描述的意思是"<,>"不能出現在這個域內。 解決辦法&#xff1a; 在ser…

分頁探究--Filter+JSTL

最近卡了一個功能就是分頁&#xff0c;查了很多資料&#xff0c;分頁大概是兩種類型&#xff1a;一種是把數據庫的東西全部查出來然后放在session里&#xff0c;用list一頁一頁傳到頁面&#xff0c;這樣的消耗比較大;另一種就是使用sql語句的limit來進行數據庫分頁查詢。我使用…