]> AND Private Git Repository - these_gilles.git/blob - THESE/codes/graphe/Ncut_9/NcutImage.m
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
final
[these_gilles.git] / THESE / codes / graphe / Ncut_9 / NcutImage.m
1 function [SegLabel,NcutDiscrete,NcutEigenvectors,NcutEigenvalues,W,imageEdges]= NcutImage(I,nbSegments);
2 %  [SegLabel,NcutDiscrete,NcutEigenvectors,NcutEigenvalues,W,imageEdges]= NcutImage(I);
3 %  Input: I = brightness image
4 %         nbSegments = number of segmentation desired
5 %  Output: SegLable = label map of the segmented image
6 %          NcutDiscrete = Discretized Ncut vectors
7 %  
8 % Timothee Cour, Stella Yu, Jianbo Shi, 2004.
9
10
11  
12 if nargin <2,
13    nbSegments = 10;
14 end
15
16 [W,imageEdges] = ICgraph(I);
17
18 [NcutDiscrete,NcutEigenvectors,NcutEigenvalues] = ncutW(W,nbSegments);
19
20 %% generate segmentation label map
21 [nr,nc,nb] = size(I);
22
23 SegLabel = zeros(nr,nc);
24 for j=1:size(NcutDiscrete,2),
25     SegLabel = SegLabel + j*reshape(NcutDiscrete(:,j),nr,nc);
26 end