日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
形態(tài)學(xué)運(yùn)算與仿真:圖像處理中形態(tài)學(xué)操作的簡(jiǎn)單解釋

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

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的澠池網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

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

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

形態(tài)學(xué)在圖像處理中應(yīng)用廣泛,特別是在圖像分割、邊緣檢測(cè)、文本識(shí)別、計(jì)算機(jī)視覺(jué)等領(lǐng)域中。

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

形態(tài)學(xué)運(yùn)算是一種根據(jù)圖像的形狀對(duì)其進(jìn)行處理的技術(shù)。它通過(guò)比較相鄰像素來(lái)構(gòu)建圖像。對(duì)于二進(jìn)制圖像({0,1}或{0,255}),這種操作會(huì)十分的簡(jiǎn)單。

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

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

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

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

Miss:如果圖像中沒(méi)有一個(gè)像素與結(jié)構(gòu)元素匹配,則稱為Miss。

Hit:當(dāng)結(jié)構(gòu)元素的至少一個(gè)像素與圖像像素重疊時(shí),稱為Hit。

Fi:如果結(jié)構(gòu)元素的所有像素都與圖像匹配,則稱為Fit。

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

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

1、Erosion 侵蝕,也被翻譯成腐蝕:結(jié)構(gòu)元素對(duì)對(duì)象的每個(gè)像素進(jìn)行卷積。如果結(jié)構(gòu)元素的所有像素與目標(biāo)圖像像素重疊(滿足Fit條件),則將目標(biāo)圖像像素填充前景像素強(qiáng)度值。否則,將填充背景像素強(qiáng)度值。

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

if Fit -> 1 else -> 0

使用了一個(gè)強(qiáng)度為1的2x2結(jié)構(gòu)元素作為演示:

另外一張是6x6像素的圖片。其中白色元素強(qiáng)度值為0,藍(lán)色像素強(qiáng)度值為1。

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

可以看到主圖像像素由于腐蝕而減少。Opnecv為我們提供了很好的實(shí)現(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需要黑色背景和白色圖像對(duì)象來(lái)進(jìn)行形態(tài)學(xué)操作。所以我們使用逆二值化。在形態(tài)學(xué)操作后再次進(jìn)行二值閾值逆處理,以保留白色背景和黑色物體。

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()

可以看到,腐蝕會(huì)消除小的物體或者細(xì)節(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  膨脹 :結(jié)構(gòu)元素在物體圖像上進(jìn)行卷積。如果任何結(jié)構(gòu)元素的像素值與目標(biāo)圖像重疊(滿足Hit條件),則目標(biāo)圖像像素將被前景像素強(qiáng)度值填充。否則,像素強(qiáng)度值將保持不變。

偽代碼如下:

If Hit -> 1 else -> 0

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

完成操作后,它產(chǎn)生如下所示的結(jié)果。

膨脹會(huì)增加物體圖像的像素。我們繼續(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()

膨脹可以用于將物體擴(kuò)大或連接起來(lái),填補(bǔ)物體內(nèi)部的空洞或裂縫

復(fù)合操作

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

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

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

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

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

總結(jié)

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

形態(tài)學(xué)的運(yùn)算和SE的選擇對(duì)圖像處理結(jié)果具有重要影響,因此需要根據(jù)圖像的特征和處理目的來(lái)選擇合適的SE和運(yùn)算。除了基本的形態(tài)學(xué)運(yùn)算,形態(tài)學(xué)還可以用于形狀分析、特征提取、目標(biāo)識(shí)別等領(lǐng)域,具有廣泛的應(yīng)用。


網(wǎng)頁(yè)名稱:形態(tài)學(xué)運(yùn)算與仿真:圖像處理中形態(tài)學(xué)操作的簡(jiǎn)單解釋
URL分享:http://m.5511xx.com/article/cccdojp.html