45 lines (45 with data), 6.1 kB
öíú_─ Ń @ sn d d l Z d d l m Z m Z d d l Z d d l m Z Gd d ä d e â Z Gd d ä d e â Z
d S)Ú N)┌io┌color)┌trangec @ sO e Z d Z d Z d d d d d ä Z d d ä Z d d ä Z d d
ä Z d S)┌ClusterÚ r c C sA | j | | | | | â g | _ | j | _ t j d 7_ d S)Nr )┌update┌pixels┌
cluster_index┌nor )┌self┌h┌w┌l┌a┌bę r ˙I/raid/data/wangqiuli/Documents/YH_Interpretable/Version1/features/slic.py┌__init__
s zCluster.__init__c C s1 | | _ | | _ | | _ | | _ | | _ d S)N)r r
r r r )r r r
r r r r r r r s
zCluster.updatec C s( d j | j | j | j | j | j â S)Nz{},{}:{} {} {} )┌formatr r
r r r )r r r r ┌__str__ s zCluster.__str__c C s
| j â S)N)r )r r r r ┌__repr__ s zCluster.__repr__N)┌__name__┌
__module__┌__qualname__r r r r r r r r r r s
r c @ sú e Z d Z e d d ä â Z e d d ä â Z d d ä Z d d ä Z d d
ä Z d d ä Z d
d ä Z
d d ä Z d d ä Z d d ä Z
d d d ä Z d S)┌
SLICProcessorc C s/ t j | â } t j | â } t | j â | S)z=
Return:
3D array, row col [LAB]
)r ┌imreadr Zrgb2lab┌print┌shape)┌path┌rgb┌lab_arrr r r ┌
open_image s
zSLICProcessor.open_imagec C s# t j | â } t j | | â d S)z}
Convert the array to RBG, then save the image
:param path:
:param lab_arr:
:return:
N)r Zlab2rgbr ┌imsave)r r Zrgb_arrr r r ┌save_lab_image* s zSLICProcessor.save_lab_imagec C sC t | | | j | | d | j | | d | j | | d â S)Nr r Ú )r ┌data)r r r
r r r ┌make_cluster5 s zSLICProcessor.make_clusterc C s░ | | _ | | _ | | _ | j j d | _ | j j d | _ | j | j | _ t t j | j | j â â | _
g | _ i | _ t
j | j | j f t
j â | _ d S)Nr r )┌K┌Mr% r ┌image_height┌image_width┌N┌int┌math┌sqrt┌S┌clusters┌label┌np┌full┌inf┌dis)r ┌imgr'