日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python图像分割算法_OpenCV-Python 图像分割与Watershed算法 | 三十四

發布時間:2025/3/11 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python图像分割算法_OpenCV-Python 图像分割与Watershed算法 | 三十四 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目標

在本章中,

我們將學習使用分水嶺算法實現基于標記的圖像分割

我們將看到:cv.watershed()

理論

任何灰度圖像都可以看作是一個地形表面,其中高強度表示山峰,低強度表示山谷。你開始用不同顏色的水(標簽)填充每個孤立的山谷(局部最小值)。隨著水位的上升,根據附近的山峰(坡度),來自不同山谷的水明顯會開始合并,顏色也不同。為了避免這種情況,你要在水融合的地方建造屏障。你繼續填滿水,建造障礙,直到所有的山峰都在水下。然后你創建的屏障將返回你的分割結果。這就是Watershed背后的“思想”。你可以訪問Watershed的CMM網頁,了解它與一些動畫的幫助。

但是這種方法會由于圖像中的噪聲或其他不規則性而產生過度分割的結果。因此OpenCV實現了一個基于標記的分水嶺算法,你可以指定哪些是要合并的山谷點,哪些不是。這是一個交互式的圖像分割。我們所做的是給我們知道的對象賦予不同的標簽。用一種顏色(或強度)標記我們確定為前景或對象的區域,用另一種顏色標記我們確定為背景或非對象的區域,最后用0標記我們不確定的區域。這是我們的標記。然后應用分水嶺算法。然后我們的標記將使用我們給出的標簽進行更新,對象的邊界值將為-1。

代碼

下面我們將看到一個有關如何使用距離變換和分水嶺來分割相互接觸的對象的示例。

考慮下面的硬幣圖像,硬幣彼此接觸。即使你設置閾值,它也會彼此接觸。

我們先從尋找硬幣的近似估計開始。因此,我們可以使用Otsu的二值化。

import numpy as np

import cv2 as cv

from matplotlib import pyplot as plt

img = cv.imread('coins.png')

gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)

ret, thresh = cv.threshold(gray,0,255,cv.THRESH_BINARY_INV cv.THRESH_OTSU)

現在我們需要去除圖像中的任何白點噪聲。為此,我們可以使用形態學擴張。要去除對象中的任何小孔,我們可以使用形態學侵蝕。因此,現在我們可以確定,靠近對象中心的區域是前景,而離對象中心很遠的區域是背景。我們不確定的唯一區域是硬幣的邊界區域。

因此,我們需要提取我們可確定為硬幣的區域。侵蝕會去除邊界像素。因此,無論剩余多少,我們都可以肯定它是硬幣。如果物體彼此不接觸,那將起作用。但是,由于它們彼此接觸,因此另一個好選擇是找到距離變換并應用適當的閾值。接下來,我們需要找到我們確定它們不是硬幣的區域。為此,我們擴張了結果。膨脹將對象邊界增加到背景。這樣,由于邊界區域已刪除,因此我們可以確保結果中背景中的任何區域實際上都是背景。參見下圖。

剩下的區域是我們不知道的區域,無論是硬幣還是背景。分水嶺算法應該找到它。這些區域通常位于前景和背景相遇(甚至兩個不同的硬幣相遇)的硬幣邊界附近。我們稱之為邊界。可以通過從sure_bg區域中減去sure_fg區域來獲得。

# 噪聲去除

kernel = np.ones((3,3),np.uint8)

opening = cv.morphologyEx(thresh,cv.MORPH_OPEN,kernel, iterations = 2)

# 確定背景區域

sure_bg = cv.dilate(opening,kernel,iterations=3)

# 尋找前景區域

dist_transform = cv.distanceTransform(opening,cv.DIST_L2,5)

ret, sure_fg = cv.threshold(dist_transform,0.7*dist_transform.max(),255,0)

# 找到未知區域

sure_fg = np.uint8(sure_fg)

unknown = cv.subtract(sure_bg,sure_fg)

查看結果。在閾值圖像中,我們得到了一些硬幣區域,我們確定它們是硬幣,并且現在已分離它們。(在某些情況下,你可能只對前景分割感興趣,而不對分離相互接觸的對象感興趣。在那種情況下,你無需使用距離變換,只需侵蝕就足夠了。侵蝕只是提取確定前景區域的另一種方法。)

現在我們可以確定哪些是硬幣的區域,哪些是背景。因此,我們創建了標記(它的大小與原始圖像的大小相同,但具有int32數據類型),并標記其中的區域。我們肯定知道的區域(無論是前景還是背景)都標有任何正整數,但是帶有不同的整數,而我們不確定的區域則保留為零。為此,我們使用cv.connectedComponents()。它用0標記圖像的背景,然后其他對象用從1開始的整數標記。

但是我們知道,如果背景標記為0,則分水嶺會將其視為未知區域。所以我們想用不同的整數來標記它。相反,我們將未知定義的未知區域標記為0。

# 類別標記

ret, markers = cv.connectedComponents(sure_fg)

# 為所有的標記加1,保證背景是0而不是1

markers = markers 1

# 現在讓所有的未知區域為0

markers[unknown==255] = 0

參見JET colormap中顯示的結果。深藍色區域顯示未知區域。當然,硬幣的顏色不同。剩下,肯定為背景的區域顯示在較淺的藍色,跟未知區域相比。

現在我們的標記已準備就緒。現在是最后一步的時候了,使用分水嶺算法。然后標記圖像將被修改。邊界區域將標記為-1。

markers = cv.watershed(img,markers)

img[markers == -1] = [255,0,0]

請參閱下面的結果。對某些硬幣,它們接觸的區域被正確地分割,而對于某些硬幣,卻不是。

附加資源

練習

OpenCV samples has an interactive sample on watershed segmentation, watershed.py. Run it, Enjoy it, then learn it.

總結

以上是生活随笔為你收集整理的python图像分割算法_OpenCV-Python 图像分割与Watershed算法 | 三十四的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色网综合 | 91九色蝌蚪视频 | 天天爽视频| 午夜免费一区 | 性高跟鞋xxxxhd人妖 | 香蕉视频1024| 一区久久久 | 桃色av网站 | 超碰在线免费 | 精品国产乱码久久久久久图片 | 日韩美女视频在线观看 | 福利视频网站 | 国产xxxx孕妇 | 欧美一级大黄 | 欧美在线一区二区三区 | 激情内射亚洲一区二区三区爱妻 | 国产免费无码一区二区视频 | 调教在线观看 | 黑人精品一区二区三区 | 欧美成人精品激情在线观看 | 可以免费看的黄色 | 波多野结衣高清电影 | 日本精品成人 | 成人午夜在线观看 | 亚洲精品久久久久久久久久久 | 美女xx00| 欧美一区亚洲二区 | 一区二区视频免费在线观看 | 三年电影在线观看 | 美女被草 | 亚洲色图在线视频 | 久久久国际精品 | 国产乱淫av片免费看 | 国产精品黑人一区二区三区 | 国产高清视频免费观看 | 亚洲欧美日韩精品久久 | 午夜在线视频免费 | 欧美极品三级 | 亚洲视频中文字幕在线观看 | 你懂的网址在线 | 正在播放超嫩在线播放 | 打开每日更新在线观看 | 伊人伊人网 | 欧洲女女同性videoso | 精品久久久久久久久久久久久久 | 波多野结衣亚洲 | 国内一区二区视频 | 免费黄色看片 | 亚洲风情亚aⅴ在线发布 | xxxxwwww国产 | 一本大道熟女人妻中文字幕在线 | 欧美精品xxxxx | 欧美黑人一区二区三区 | 欧美一级xxx | 成人在线视频免费看 | 日本免费a级片 | 久久av高潮av | 免费在线观看的av | 日韩在线成人 | 日韩 欧美 综合 | 韩毛片| 非洲黑寡妇性猛交视频 | 欧美日韩国产精品成人 | 日韩福利| 欧美性受黑人性爽 | 中文字幕在线播放一区二区 | av动漫在线免费观看 | 国产av人人夜夜澡人人爽 | 99爱这里只有精品 | 青青草国内自拍 | 插插插日日日 | 色天天色综合 | 亚洲AV无码成人精品区东京热 | 国产一区二区三区四区五区在线 | 澳门免费av| 精品在线免费视频 | xvideos成人免费视频 | 欧美精品第一页 | 无码一区二区三区免费 | 亚洲高清久久 | 1级片在线观看 | 欧美性猛交xxxx黑人猛交 | 一区二区三区免费高清视频 | 人人草人人爽 | 天狂传说之巴啦啦小魔仙 | 麻豆av片| 亚洲国产精品久久精品怡红院 | 国产精品熟妇人妻g奶一区 a少妇 | 欧美色女人 | 天天爽 | 极品五月天 | 91在线一区 | 短裙公车被强好爽h吃奶视频 | 黑人专干日本人xxxx | 欧美3p视频 | 日本黄色大片网站 | 中文在线观看免费视频 | 欧美成人黄 | 亚洲熟妇无码一区二区三区导航 |