最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

OpenCV?圖像分割實現(xiàn)Kmean聚類的示例代碼

 更新時間:2022年03月28日 09:21:03   作者:山居秋暝LS  
本文主要介紹了OpenCV?圖像分割實現(xiàn)Kmean聚類的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

1 Kmean圖像分割

按照Kmean原理,對圖像像素進行聚類。
優(yōu)點:此方法原理簡單,效果顯著。
缺點:實踐發(fā)現(xiàn)對于前景和背景顏色相近或者顏色區(qū)分度差的圖像效果不顯著。
本文對圖像進行濾波,主要是為了消除樹枝顏色的影響(濾波為非Keman圖像分割的必要操作)。

2 流程

(1)讀入圖片,把圖片轉(zhuǎn)化為二維。
(2)根據(jù)Kmean算法對圖像分割,返回類別標簽和各類別中心點。
(3)根據(jù)類別標簽復(fù)制各類別中心點得到結(jié)果,在對結(jié)果調(diào)整到原有尺度。

3 實現(xiàn)

(1)圖像分割前添加濾波,消除噪聲

## 1 圖像分割--Keman聚類
import cv2
import numpy as np
import matplotlib.pyplot as plt

# 1 讀入圖片
img0 = cv2.imread('bird.png', 1)  # (548,727,3)
img0 = cv2.cvtColor(img0, cv2.COLOR_BGR2RGB)
img_ = cv2.GaussianBlur(img0, (13, 13), 10, 10)
h, w, c = img_.shape
img_blur = img_.reshape([-1, 3])
img_blur = np.float32(img_blur)

# 2 分類
criteria = (
cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 10, 1.0)
num_clusters = 2
_, label, center_color = cv2.kmeans(img_blur, num_clusters,
                                    None, criteria,
                                    num_clusters,
                                    cv2.KMEANS_RANDOM_CENTERS)
center_color = np.uint8(
    center_color)  # img_blur[398396,3],label[398396,1],center[2,3]
res = center_color[label.ravel()]  # [398396,3]
res = res.reshape([h, w, c])  # res[668044,3]--> [548,727,3]

# 3 顯示
plt.subplot(131)
plt.title('origin')
plt.imshow(img0)
plt.subplot(132)
plt.title('img_blur')
plt.imshow(img_)
plt.subplot(133)
plt.title('result')
plt.imshow(res)

plt.show()

在這里插入圖片描述

(2)顏色區(qū)分低的情況
當顏色區(qū)分低時,劃分較少的種類,可以達到滿意效果。

## 1 圖像分割--Keman聚類
import cv2
import numpy as np
import matplotlib.pyplot as plt

# 1 讀入圖片
img = cv2.imread('luna.png', 1)  # (548,727,3)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
h, w, c = img.shape
img0= img.reshape([-1, 3])
img0 = np.float32(img0)

# 3 分類
criteria = (
cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 10, 1.0)
num_clusters = 2
_, label, center_color = cv2.kmeans(img0, num_clusters,
                                    None, criteria,
                                    num_clusters,
                                    cv2.KMEANS_RANDOM_CENTERS)
center_color = np.uint8(
    center_color)  # img_blur[398396,3],label[398396,1],center[2,3]
res = center_color[label.ravel()]  # [398396,3]

res = res.reshape([h, w, c])  # res[668044,3]--> [548,727,3]

plt.subplot(121)
plt.title('origin')
plt.imshow(img)
plt.subplot(122)
plt.title('result')
plt.imshow(res)

plt.show()

在這里插入圖片描述

注: 可以改變中心點的數(shù)值,調(diào)整分割后圖像的顏色。

center_color = np.uint8(
    center_color)  
## 調(diào)整顯示顏色
center_color[0]=[0,0,255]
center_color[1]=[255,0,0]

res = center_color[label.ravel()] 

在這里插入圖片描述

 到此這篇關(guān)于OpenCV 圖像分割實現(xiàn)Kmean聚類的示例代碼的文章就介紹到這了,更多相關(guān)OpenCV Kmean聚類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python標準庫turtle海龜繪圖實現(xiàn)簡單奧運五環(huán)

    python標準庫turtle海龜繪圖實現(xiàn)簡單奧運五環(huán)

    這篇文章主要為大家介紹了python使用turtle實現(xiàn)最簡單簡單奧運五環(huán)繪圖,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • python高級內(nèi)置函數(shù)用法實例

    python高級內(nèi)置函數(shù)用法實例

    在本篇文章里小編給大家整理的是一篇關(guān)于python高級內(nèi)置函數(shù)用法實例內(nèi)容,有興趣的朋友們可以學(xué)參考下。
    2021-09-09
  • pytorch加載的cifar10數(shù)據(jù)集過程詳解

    pytorch加載的cifar10數(shù)據(jù)集過程詳解

    這篇文章主要介紹了pytorch加載的cifar10數(shù)據(jù)集,到底有沒有經(jīng)過歸一化,本文對這一問題給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-11-11
  • 使用python畫社交網(wǎng)絡(luò)圖實例代碼

    使用python畫社交網(wǎng)絡(luò)圖實例代碼

    這篇文章主要給大家介紹了關(guān)于如何使用python畫社交網(wǎng)絡(luò)圖的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python 獲取圖片GPS等信息鎖定圖片拍攝地點、拍攝時間(實例代碼)

    Python 獲取圖片GPS等信息鎖定圖片拍攝地點、拍攝時間(實例代碼)

    這篇文章主要介紹了Python 獲取圖片GPS等信息鎖定圖片拍攝地點、拍攝時間,先把圖片以二進制的格式讀取出來,然后通過 exifread 庫把里面的 GPS 信息提取出來,再以特定的格式打印出來,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • python中xlwt模塊的具體用法

    python中xlwt模塊的具體用法

    本文主要介紹了python中xlwt模塊的具體用法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python交互環(huán)境下打印和輸入函數(shù)的實例內(nèi)容

    Python交互環(huán)境下打印和輸入函數(shù)的實例內(nèi)容

    在本篇文章里小編給大家分享的是關(guān)于Python交互環(huán)境下打印和輸入函數(shù)的實例內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-02-02
  • python中zip()函數(shù)遍歷多個列表方法

    python中zip()函數(shù)遍歷多個列表方法

    在本篇文章里小編給大家整理的是一篇關(guān)于python中zip()函數(shù)遍歷多個列表方法,對此有興趣的朋友們可以學(xué)習(xí)下。
    2021-02-02
  • python 標準差計算的實現(xiàn)(std)

    python 標準差計算的實現(xiàn)(std)

    這篇文章主要介紹了python 標準差計算的實現(xiàn)(std),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python的id()函數(shù)解密過程

    python的id()函數(shù)解密過程

    id()函數(shù)在使用過程中很頻繁,為此本人對此函數(shù)深入研究下,曬出代碼和大家分享下,希望對你們有所幫助
    2012-12-12

最新評論

本溪市| 河曲县| 紫阳县| 县级市| 兴化市| 宣城市| 安吉县| 长海县| 哈密市| 绍兴市| 冷水江市| 凭祥市| 靖宇县| 昭觉县| 汶川县| 滦南县| 江山市| 株洲市| 正镶白旗| 桐城市| 古蔺县| 阿拉尔市| 吕梁市| 饶阳县| 高安市| 蓝山县| 静安区| 宜宾县| 平顶山市| 阿克| 凤山县| 潮安县| 津市市| 文化| 兰考县| 工布江达县| 徐水县| 乐陵市| 涡阳县| 都匀市| 夏津县|