function myAffinityMat = Image2Graph (imIn) %Image2Graph produces a graph, in the form of a matrix, from an image % Usage myAffinityMat = Image2Graph (imIn), where: % Inputs % - imIn is the input image % Output % - myAffinityMat is the graph produced % Initializes helper variables imageWidth = size(imIn, 2); imageHeight = size(imIn, 1); imageChannels = size(imIn, 3); singleLineTransform = reshape(imIn, 1, [], imageChannels); diff = repmat(singleLineTransform, imageWidth * imageHeight, 1, 1) - ... permute(singleLineTransform, [2 1 3]); dist = sum(diff .^ 2, 3) .^ 0.5; myAffinityMat = 1 ./ exp(dist); end