自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

形態(tài)學運算與仿真:圖像處理中形態(tài)學操作的簡單解釋

開發(fā)
形態(tài)學是圖像處理領域的一個分支,主要用于描述和處理圖像中的形狀和結構。形態(tài)學可以用于提取圖像中的特征、消除噪聲、改變圖像的形狀等。其中形態(tài)學的核心操作是形態(tài)學運算。

形態(tài)學是圖像處理領域的一個分支,主要用于描述和處理圖像中的形狀和結構。形態(tài)學可以用于提取圖像中的特征、消除噪聲、改變圖像的形狀等。其中形態(tài)學的核心操作是形態(tài)學運算。

圖片

形態(tài)學運算是一種基于形狀的圖像處理技術,它是通過結構元素與圖像進行特定運算的方式來改變圖像的形態(tài)和特征。結構元素是一種小型、預定義的形狀,通常是矩形、圓形或者橢圓形,可以與圖像中的像素進行匹配。

形態(tài)學運算包括膨脹、腐蝕、開運算、閉運算等。其中膨脹操作可以將圖像中的物體變大,使它更加連通;腐蝕操作則可以將圖像中的物體變小,使它更加細化;開運算可以去除噪聲,平滑圖像的邊緣;閉運算可以填補圖像中物體的孔洞。

圖片

形態(tài)學在圖像處理中應用廣泛,特別是在圖像分割、邊緣檢測、文本識別、計算機視覺等領域中。

形態(tài)學操作概念

形態(tài)學運算是一種根據(jù)圖像的形狀對其進行處理的技術。它通過比較相鄰像素來構建圖像。對于二進制圖像({0,1}或{0,255}),這種操作會十分的簡單。

在熟悉形態(tài)學操作之前,我們需要了解一些基本術語

圖片

Structuring Element 被翻譯為結構元素或結構單元,也稱為structuring function或者structuring kernel,是形態(tài)學中用于進行形態(tài)學運算的一種預定義的、小型的形狀。SE通常是一個矩陣或者一個類似于核心的圖形。

SE定義了用于改變圖像形態(tài)的操作,例如膨脹、腐蝕、開運算和閉運算等。這些操作基于SE與圖像中像素的匹配和計算。SE在運算中可以通過平移、旋轉和翻轉等操作進行變換。

圖片

形態(tài)學操作是通過在圖像中傳播結構元素來完成的。通過比較結構元素下的像素,在圖像的原點位置改變像素值。所以SE的大小和形狀選擇是非常關鍵的,不同的SE可以產生不同的結果。通常情況下,SE的形狀和大小需要根據(jù)圖像的特征和處理目的來選擇。例如,矩形形狀的SE通常適用于處理直線形狀的圖像,而圓形形狀的SE適用于處理圓形和橢圓形的圖像。

Miss:如果圖像中沒有一個像素與結構元素匹配,則稱為Miss。

Hit:當結構元素的至少一個像素與圖像像素重疊時,稱為Hit。

Fi:如果結構元素的所有像素都與圖像匹配,則稱為Fit。

形態(tài)學基本操作

形態(tài)學有兩種形態(tài)操作:腐蝕、膨脹。另外兩個常用的復合操作開、閉也是從這兩個操作派生出來的。

1、Erosion 侵蝕,也被翻譯成腐蝕:結構元素對對象的每個像素進行卷積。如果結構元素的所有像素與目標圖像像素重疊(滿足Fit條件),則將目標圖像像素填充前景像素強度值。否則,將填充背景像素強度值。

假設背景為0,前景為1,那么偽代碼就是:

if Fit -> 1 else -> 0

使用了一個強度為1的2x2結構元素作為演示:

圖片

另外一張是6x6像素的圖片。其中白色元素強度值為0,藍色像素強度值為1。

圖片

結構元素對給定圖像的每個像素進行卷積。如果它滿足未Fit條件,它將在結構元素的原點位置將像素更改為0。上面我們已經(jīng)用紅色顯示了像素從1到0的位置。最后得到以下結果。

圖片

可以看到主圖像像素由于腐蝕而減少。Opnecv為我們提供了很好的實現(xiàn),我們可以直接使用:

import cv2
 import matplotlib.pyplot as plt
 import numpy as np
 img4=cv2.imread('/work/morphology_er.png',cv2.IMREAD_GRAYSCALE)
 plt.imshow(img4, cmap='gray')
 plt.show()

圖片

我們的圖像是白色背景上的黑色。但是OpenCV需要黑色背景和白色圖像對象來進行形態(tài)學操作。所以我們使用逆二值化。在形態(tài)學操作后再次進行二值閾值逆處理,以保留白色背景和黑色物體。

thr,img_th = cv2.threshold(img4,127,255,cv2.THRESH_BINARY_INV)
 kernel=np.ones((5,5), np.uint8)
 new_h=cv2.erode(img_th,kernel,iteratinotallow=3)
 ret,correctinotallow= cv2.threshold(new_h,127,255,cv2.THRESH_BINARY_INV)
 plt.imshow(correction,cmap='gray')
 plt.show()

圖片

可以看到,腐蝕會消除小的物體或者細節(jié)。

img5=cv2.imread('/work/morphology_ero.png',cv2.IMREAD_GRAYSCALE)
 plt.imshow(img5, cmap='gray')
 plt.show()

圖片

thr,img_th = cv2.threshold(img5,127,255,cv2.THRESH_BINARY_INV)
 kernel=np.ones((5,5), np.uint8)
 new_h=cv2.erode(img_th,kernel,iteratinotallow=3)
 ret,correctinotallow= cv2.threshold(new_h,127,255,cv2.THRESH_BINARY_INV)
 plt.imshow(correction,cmap='gray')
 plt.show()

圖片

或者使我們的物體變小,或者斷開彼此之間的連接

2、Dilation  膨脹 :結構元素在物體圖像上進行卷積。如果任何結構元素的像素值與目標圖像重疊(滿足Hit條件),則目標圖像像素將被前景像素強度值填充。否則,像素強度值將保持不變。

偽代碼如下:

If Hit -> 1 else -> 0

我們還是使用上面的例子:

圖片

完成操作后,它產生如下所示的結果。

圖片

膨脹會增加物體圖像的像素。我們繼續(xù)使用OpenCV演示:

img3=cv2.imread('/work/morphology_di.png',cv2.IMREAD_GRAYSCALE)
 plt.imshow(img3, cmap='gray')
 plt.show()

圖片

thr,img_th = cv2.threshold(img3,127,255,cv2.THRESH_BINARY_INV)
 kernel=np.ones((5,5), np.uint8)
 new_h=cv2.dilate(img_th,kernel,iteratinotallow=3)
 ret,correctinotallow= cv2.threshold(new_h,127,255,cv2.THRESH_BINARY_INV)
 plt.imshow(correction,cmap='gray')
 plt.show()

圖片

膨脹可以用于將物體擴大或連接起來,填補物體內部的空洞或裂縫

復合操作

還有一些其他的復合形態(tài)操作。其中,開和閉是兩種應用廣泛的操作。

圖片

可以看到,開操作Open先對圖像進行腐蝕操作,然后再進行膨脹操作的組合過程,可以用于消除小的物體或細節(jié),并且可以平滑物體的邊界

閉操作Close則相反,它是先對圖像進行膨脹操作,然后再進行腐蝕操作的組合過程??梢杂糜谔钛a小的空洞或裂縫,并且也可以平滑物體的邊界。

Opencv也提供了內置的實現(xiàn):

opening = cv.morphologyEx(img, cv.MORPH_OPEN, kernel)
 closing = cv.morphologyEx(img, cv.MORPH_CLOSE, kernel)

總結

形態(tài)學是一種基于形狀和結構的圖像處理方法,其核心是結構元素(SE)的定義和運算。SE是一個小的形狀,通常是一個矩陣或者類似核心的圖形,用于進行形態(tài)學運算,如腐蝕、膨脹、開運算和閉運算等。這些運算可以用于消除噪聲、填補空洞、連接物體和分離物體等。

形態(tài)學的運算和SE的選擇對圖像處理結果具有重要影響,因此需要根據(jù)圖像的特征和處理目的來選擇合適的SE和運算。除了基本的形態(tài)學運算,形態(tài)學還可以用于形狀分析、特征提取、目標識別等領域,具有廣泛的應用。


責任編輯:華軒 來源: DeepHub IMBA 2
相關推薦

2023-10-09 08:32:57

GaussDBDRS數(shù)據(jù)庫

2011-05-24 11:28:18

OTNOTM

2024-09-18 14:45:48

2021-02-07 10:01:31

AI 數(shù)據(jù)人工智能

2023-05-05 00:16:08

深度學習圖像分割Pytorch

2013-12-18 16:21:32

未來互聯(lián)網(wǎng)移動互聯(lián)網(wǎng)

2023-05-08 16:19:47

2023-10-11 15:48:18

2024-03-21 08:00:00

機器學習人工智能

2015-06-19 10:00:11

七牛

2013-10-10 09:43:35

2013-10-08 11:12:32

2020-07-17 07:27:17

數(shù)據(jù)庫即服務DBaaS

2010-08-19 11:16:30

虛擬化

2009-07-21 09:31:00

Scala數(shù)學運算邏輯操作位操作符

2012-07-20 09:25:10

2017-03-14 12:25:08

2023-12-14 15:22:39

圖像操作圖像處理計算機視覺

2021-01-21 09:54:47

大數(shù)據(jù)大數(shù)據(jù)治理政府管理

2024-08-28 07:33:47

數(shù)據(jù)庫架構產品
點贊
收藏

51CTO技術棧公眾號