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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SLIC超像素分割

發布時間:2023/12/31 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SLIC超像素分割 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SLIC:simple linear iterative clustering,即簡單線性迭代聚類。以下為源碼使用流程。

一、預處理,RGB轉化為LAB

把RGB顏色空間的圖片轉換到XYZ,再從XYZ顏色空間轉化為LAB顏色空間的圖片。將L、a、b分量存儲在SLIC類成員m_lvec, m_avec, m_bvec中。

二、SLIC超像素分割

1.初始化種子點。通過給定步長STEP得到所有種子點的L、a、b、三個分量(kseedsl、keedsa、keedsb)以及x、y兩個坐標值(keedsx、kseedsy)。

2.擾動種子點。遍歷種子點的八鄰域,找到包括種子點在內的3×3的范圍的最小梯度(顏色分量的梯度),如果不是種子點,則將最小值對應的像素點作為新的種子點,即擾動種子點,并更新其五維分量。
3.聚類。標簽表klables初始化為-1,距離表distvec初始化為參數DBL_MAX。在以每個種子點為中心的2STEP×2STEP的范圍內,遍歷所有像素點,計算像素點與當前種子點的五維空間的歐氏距離,同時加入一個衡量兩種距離重要性的度量系數m。如果計算出的結果小于距離表中的值,那么將當前種子點對應的標簽值分配給對應像素點。將距離表中的值更新。

4.計算新的種子點,即聚類中心。分別計算聚類完成的每個超像素塊中所有像素的l、a、b、x、y分量的和,儲存在sigmal、sigmaa、sigmab、sigmax、sigmay中,然后除以該超像素塊中所包含像素總個數,得到平均值,作為新的種子點及其分量。
5.迭代步驟3、4指定次數iteration。得到相對可靠的超像素分割結果。

三、分割后處理

消除標簽表中孤立的像素點,即在一片相同的標簽群中存在的不同標簽的像素點。根據面積判斷,將空間上臨近已被重新標記的像素點的新標簽分配給孤立點。生成新標簽表nlables。

四、繪制分割結果
遍歷圖片,如果在當前像素點的八鄰域內存在與中心像素點的標簽不一致的像素點,那么將當前中心像素點標記為白色輪廓,鄰域內其它非輪廓的像素點作為黑色輪廓邊線。

五、其它

SLIC類中圖片存儲為unsigned int,OpenCV中存儲為unsigned char,在實際應用中需要進行兩種格式的轉化。SLIC.cpp、SLIC.h、Main.cpp在這。

參考

1.https://blog.csdn.net/electech6/article/details/45535203
2.https://blog.csdn.net/zhj_matlab/article/details/52986700
3.https://blog.csdn.net/zhj_matlab/article/details/52973723

總結

以上是生活随笔為你收集整理的SLIC超像素分割的全部內容,希望文章能夠幫你解決所遇到的問題。

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