Semester assignments for the course "Digital Image Processing" of THMMY in AUTH university.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

23 lines
913 B

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);
% Calculates intensity difference per channel per point pair
myAffinityMat = ...
repmat(singleLineTransform, imageWidth * imageHeight, 1, 1) - ...
permute(singleLineTransform, [2 1 3]);
% Calculates "distance" between each point pair
myAffinityMat = sum(myAffinityMat .^ 2, 3) .^ 0.5;
% Calculates affinity between each point pair
myAffinityMat = 1 ./ exp(myAffinityMat ./ var(imIn(:)));
end