国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

個人網(wǎng)站論文摘要網(wǎng)頁設計與制作期末作品

個人網(wǎng)站論文摘要,網(wǎng)頁設計與制作期末作品,電話營銷網(wǎng)站推廣,張店低價網(wǎng)站建設文章目錄 1.腐蝕操作2.膨脹操作3.開運算和閉運算4.禮帽與黑帽5.梯度運算 1.腐蝕操作 腐蝕操作是圖像處理中常用的一種形態(tài)學操作,我們通常用于去除圖像中的噪聲、分割連通區(qū)域、減小目標物體的尺寸等。腐蝕操作的原理是,在給定的結(jié)構元素下,…

文章目錄

  • 1.腐蝕操作
  • 2.膨脹操作
  • 3.開運算和閉運算
  • 4.禮帽與黑帽
  • 5.梯度運算

1.腐蝕操作

腐蝕操作是圖像處理中常用的一種形態(tài)學操作,我們通常用于去除圖像中的噪聲、分割連通區(qū)域、減小目標物體的尺寸等。腐蝕操作的原理是,在給定的結(jié)構元素下,遍歷圖像的每個像素,并將其值替換為該像素周圍鄰域內(nèi)像素的最小值。結(jié)構元素控制了腐蝕的鄰域范圍和形狀。鄰域內(nèi)的任何一個像素為黑色(0),則中心像素也將被置為黑色(0)。這樣可以縮小或消除二值圖像中的前景目標。在OpenCV中,我們可以使用cv2.erode()來實現(xiàn)腐蝕操作

語法如下:

cv2.erode(src, kernel, iterations)

參數(shù)說明:

  • src:輸入的二值圖像,通常為單通道灰度圖像。
  • kernel:腐蝕操作的結(jié)構元素,用于定義腐蝕的鄰域大小和形狀??梢允褂?cv2.getStructuringElement() 函數(shù)創(chuàng)建不同形狀的結(jié)構元素。
  • iterations:腐蝕操作的迭代次數(shù),表示應用腐蝕的重復次數(shù)。

接下來我們先來看一張圖:

img = cv2.imread('JOJO.png')cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

image-20230801204803636

大家可以看到,除了JOJO之外,它的周圍還有很多斜線,我們可以利用腐蝕操作來消除。

# 創(chuàng)建結(jié)構元素 (3x3 方框形)
kernel = np.ones((3, 3), dtype=np.uint8)# 執(zhí)行腐蝕操作
eroded = cv2.erode(img, kernel, iterations=1)# 顯示結(jié)果
cv2.imshow('Eroded Image', eroded)
cv2.waitKey(0)
cv2.destroyAllWindows()

image-20230801204932943

可以看到,這些斜線變得很淺,因為被他周圍的黑色所影響,并且原始圖像的字母也變得更小了,因為腐蝕操作減少了一部分信息。

我們可以更改iterations的值,來增加迭代次數(shù),迭代的次數(shù)越多,則腐蝕的越嚴重,具體結(jié)果如下

erosion_1 = cv2.erode(img,kernel,iterations = 1)#1次迭代
erosion_2 = cv2.erode(img,kernel,iterations = 2)#2次迭代
erosion_3 = cv2.erode(img,kernel,iterations = 3)#3次迭代
res = np.hstack((erosion_1,erosion_2,erosion_3))#水平堆砌
# 顯示結(jié)果
cv2.imshow('res', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

image-20230801205203117

腐蝕操作和膨脹(Dilation)操作相對應,二者經(jīng)常組合使用以實現(xiàn)更復雜的形態(tài)學圖像處理任務,接下來我們來看看膨脹操作。

2.膨脹操作

說完了腐蝕操作之后,我們再來看一下它的逆操作,膨脹操作。我們在上面的腐蝕操作中,在消除噪聲的同時,把有價值的信息也減少了。因此我們希望將這些有價值的信息增大,這樣就要利用到膨脹操作。

在 OpenCV 中,膨脹操作是通過 cv2.dilate() 函數(shù)實現(xiàn)的。該函數(shù)接受三個參數(shù):輸入圖像、結(jié)構元素和迭代次數(shù)。

結(jié)構元素可以通過 cv2.getStructuringElement() 函數(shù)創(chuàng)建,它定義了膨脹操作的鄰域大小和形狀。常見的結(jié)構元素形狀包括矩形、橢圓和十字形。

我們還是用剛剛的例子

# 原始圖像
img = cv2.imread('JOJO.png')
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

image-20230801212242852

接下來我們使用腐蝕操作消除細線

# 腐蝕操作
kernel = np.ones((5,5),np.uint8) 
dige_erosion = cv2.erode(img,kernel,iterations = 1)cv2.imshow('erosion', erosion)
cv2.waitKey(0)
cv2.destroyAllWindows()

image-20230801212546418

我們可以看見其中字母也變小了,我們想恢復其原始信息。

# 膨脹操作
kernel = np.ones((3,3),np.uint8) 
dige_dilate = cv2.dilate(dige_erosion,kernel,iterations = 1)cv2.imshow('dilate', dige_dilate)
cv2.waitKey(0)
cv2.destroyAllWindows()

image-20230801212556084

膨脹操作的效果取決于結(jié)構元素的形狀和大小,以及迭代次數(shù)。增加迭代次數(shù)會使目標物體區(qū)域更大,邊界更粗糙。通常情況下,一個或兩個迭代次數(shù)就足夠了。

膨脹操作通常與腐蝕操作結(jié)合使用,以在圖像中執(zhí)行形態(tài)學處理。這種組合的方法稱為開運算(Opening)和閉運算(Closing),接下來我們來看看如何實現(xiàn)

3.開運算和閉運算

開運算是先進行腐蝕操作,再進行膨脹操作。它主要用于去除圖像中的噪點、小的干擾物或者分離連通的對象。

閉運算是先進行膨脹操作,再進行腐蝕操作。它主要用于填充圖像中的小洞孔或者連接分離的對象。

開運算

opencv中,通過調(diào)用cv2.morphologyEx()函數(shù),并指定操作類型為cv2.MORPH_OPEN,實現(xiàn)開運算

# 開:先腐蝕,再膨脹
img = cv2.imread('dige.png')kernel = np.ones((5,5),np.uint8) 
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)cv2.imshow('opening', opening)
cv2.waitKey(0)
cv2.destroyAllWindows()

image-20230801214242345

可以看到開運算可以讓我們先去除邊緣細線,然后再增加信息恢復到原始結(jié)果。

閉運算

opencv中,通過調(diào)用cv2.morphologyEx()函數(shù),并指定操作類型為cv2.MORPH_CLOSE,實現(xiàn)閉運算

# 閉:先膨脹,再腐蝕
img = cv2.imread('JOJO.png')kernel = np.ones((5,5),np.uint8) 
closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)cv2.imshow('closing', closing)
cv2.waitKey(0)
cv2.destroyAllWindows()

image-20230801215925376

在閉運算中,由于一開始我們加粗了邊緣細線,導致后續(xù)我們即使做了腐蝕操作也不能完全去除。

這兩種方法可以用來改善圖像的質(zhì)量、去除噪聲或者填充空洞,具體根據(jù)我們的需求進行更改。

4.禮帽與黑帽

  • 禮帽 = 原始輸入-開運算結(jié)果
  • 黑帽 = 閉運算-原始輸入

通過使用禮帽和黑帽操作,可以突出圖像中細微的亮或暗結(jié)構,或者檢測背景中的亮或暗區(qū)域。

禮帽操作

opencv中,我們通過調(diào)用 cv2.morphologyEx() 函數(shù),并指定操作類型為 cv2.MORPH_TOPHAT,執(zhí)行禮帽操作

#禮帽
img = cv2.imread('JOJO.png')
tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)
cv2.imshow('tophat', tophat)
cv2.waitKey(0)
cv2.destroyAllWindows()

黑帽操作

黑帽操作是禮帽操作的相反過程,用于突出圖像中微小結(jié)構或背景中的暗區(qū)域。在Opencv中,通過調(diào)用 cv2.morphologyEx() 函數(shù),并指定操作類型為cv2.MORPH_BLACKHAT,執(zhí)行黑帽操作。

#黑帽
img = cv2.imread('JOJO.png')
blackhat  = cv2.morphologyEx(img,cv2.MORPH_BLACKHAT, kernel)
cv2.imshow('blackhat ', blackhat )
cv2.waitKey(0)
cv2.destroyAllWindows()

image-20230801221528105

5.梯度運算

  • 梯度 = 膨脹-腐蝕

首先,我們分別實現(xiàn)膨脹和腐蝕操作

# 梯度=膨脹-腐蝕
img = cv2.imread('JOJO.png')
kernel = np.ones((5,5),np.uint8) 
dilate = cv2.dilate(img,kernel,iterations = 1)
erosion = cv2.erode(img,kernel,iterations = 1)res = np.hstack((dilate,erosion))cv2.imshow('res', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

image-20230801214951601

接下來我們實現(xiàn)梯度運算

# 梯度運算
gradient = cv2.morphologyEx(img, cv2.MORPH_GRADIENT, kernel)cv2.imshow('gradient', gradient)
cv2.waitKey(0)
cv2.destroyAllWindows()

image-20230801214854244

大家可以看出這個圖片就是用膨脹操作-腐蝕操作的結(jié)果。

🔎本章的介紹到此介紹,如果文章對你有幫助,請多多點贊、收藏、評論、訂閱支持!!《Opencv入門到項目實戰(zhàn)》

http://aloenet.com.cn/news/37220.html

相關文章:

  • wordpress調(diào)用網(wǎng)站標題愛站網(wǎng)長尾關鍵詞搜索
  • 做網(wǎng)站公司哪家好百度競價開戶多少錢
  • 貴州住房和城鄉(xiāng)建設廳舊網(wǎng)站不受國內(nèi)限制的搜索引擎
  • 石家莊seo網(wǎng)站優(yōu)化價格seo網(wǎng)站優(yōu)化推廣費用
  • 肥西縣市建設局網(wǎng)站廣州seo公司如何
  • 百度競價做網(wǎng)站建設百度運營平臺
  • 貴陽市做網(wǎng)站公司網(wǎng)搜網(wǎng)
  • 不加www的網(wǎng)站免費推廣的網(wǎng)站平臺
  • 電子網(wǎng)站建設方案免費發(fā)帖推廣平臺有哪些
  • 做視頻網(wǎng)站有什么湖南最新消息今天
  • 常州網(wǎng)站制作哪家好推廣計劃書怎么寫
  • 蘭州seo快速優(yōu)化報價移動優(yōu)化課主講:夫唯老師
  • wordpress百度自動推送安裝失敗百度灰色詞優(yōu)化排名
  • 網(wǎng)站建設需要哪些資料百度推廣官網(wǎng)登錄
  • 蘇州優(yōu)化網(wǎng)站建設seo知識培訓
  • 陽江網(wǎng)站制作公司網(wǎng)時代教育培訓機構官網(wǎng)
  • 怎么做刷鉆網(wǎng)站北京網(wǎng)站排名seo
  • 高端網(wǎng)站建站公司怎么開展網(wǎng)絡營銷推廣
  • 域名注冊平臺的網(wǎng)站怎么做頭條搜索
  • 重慶快建網(wǎng)站網(wǎng)絡推廣技術外包
  • 網(wǎng)站算信息化建設電腦版百度網(wǎng)盤
  • 成都網(wǎng)站建設公司常熟網(wǎng)站建設
  • 做鞋的垂直網(wǎng)站百度客服24小時電話人工服務
  • b2c購物網(wǎng)站開發(fā)西安seo網(wǎng)站關鍵詞優(yōu)化
  • 做旅行網(wǎng)站的意義百度官網(wǎng)app下載安裝
  • 哪些網(wǎng)站可以做邀請函精準大數(shù)據(jù)獲客系統(tǒng)
  • 免費行情的軟件入口下載路由器優(yōu)化大師
  • 宣城市建設銀行網(wǎng)站建站流程
  • 外貿(mào)網(wǎng)站建設步驟網(wǎng)站設計公司多少錢
  • 青島中小企業(yè)網(wǎng)站制作公司網(wǎng)站建設費用多少