【数字图像处理5.3】SLIC算法 超像素分割(无监督聚类方式)python
生活随笔
收集整理的這篇文章主要介紹了
【数字图像处理5.3】SLIC算法 超像素分割(无监督聚类方式)python
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 1、實驗?zāi)康暮颓把?/li>
- 2、什么是超像素分割
- 3、SLIC算法實現(xiàn)超像素分割
- 3.1、效果圖
- 3.2、代碼
參考
https://blog.csdn.net/qq_40268412/article/details/103915197
1、實驗?zāi)康暮颓把?/h2>
本次實驗?zāi)康?#xff1a;
- 實現(xiàn)超像素分割(無監(jiān)督聚類方式)
2、什么是超像素分割
- 是把一張圖片中具有相似特征的像素進行聚類,形成一個更具有代表性的大“像素”。
- 這個新的像素可以作為其他圖像處理算法的基本單位,可以減低圖像的維度和異常像素點。
- 目前常用的超像素分割算法有SLIC、SEEDS和LSC。
3、SLIC算法實現(xiàn)超像素分割
參考,SLIC算法原理:
https://blog.csdn.net/bailing910/article/details/79747689
- SLIC(簡單的線性迭代聚類)。
- 它采用k均值聚類方法高效地生成超像素。較以前的算法可以更好地獲取邊界。
- 同時,它具有更快的速度,更高的內(nèi)存效率,并且能提高分割性能,也可以直接擴展到超體元生成。
3.1、效果圖
3.2、代碼
import cv2 import numpy as npimg = cv2.imread("pic/dog2.jpg")#超像素平均尺寸region_size,默認10ruler:超像素平滑度ruler,默認10 slic = cv2.ximgproc.createSuperpixelSLIC(img,region_size=20,ruler = 20.0) slic.iterate(10) #迭代次數(shù),越大效果越好mask_slic = slic.getLabelContourMask() #獲取Mask,超像素邊緣Mask==1 label_slic = slic.getLabels() #獲取超像素標簽 number_slic = slic.getNumberOfSuperpixels() #獲取超像素數(shù)目 mask_inv_slic = cv2.bitwise_not(mask_slic) img_slic = cv2.bitwise_and(img,img,mask = mask_inv_slic) #在原圖上繪制超像素邊界cv2.imshow("img_slic",img_slic) cv2.waitKey(0) cv2.destroyAllWindows()總結(jié)
以上是生活随笔為你收集整理的【数字图像处理5.3】SLIC算法 超像素分割(无监督聚类方式)python的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初学数据结构
- 下一篇: python3随机种子的使用及理解