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.

67 lines
1.4 KiB

%% Initialization
clear
clear all
% For reproducibility
rng(1);
load('dip_hw_2.mat');
%% Produces the affinity graphs for both images
graph1 = Image2Graph(d2a);
graph2 = Image2Graph(d2b);
%% Executes recursive experiments for the first image
figure();
imshow(d2a);
clusters = recursiveNCuts(graph1);
% Presents results
clusters = reshape(clusters, size(d2a, 1), []);
clustersR = clusters;
clustersG = clusters;
clustersB = clusters;
for cluster = 1:size(unique(clusters), 1)
clustersR(clusters == cluster) = rand;
clustersG(clusters == cluster) = rand;
clustersB(clusters == cluster) = rand;
end
clusters(:, :, 1) = clustersR;
clusters(:, :, 2) = clustersG;
clusters(:, :, 3) = clustersB;
figure();
imshow(clusters);
clearvars clustersR clustersG clustersB cluster
%% Executes recursive experiments for the second image
figure();
imshow(d2b);
clusters = recursiveNCuts(graph2);
% Presents results
clusters = reshape(clusters, size(d2b, 1), []);
figure();
imshow(meanClustersColorRGB(d2b, clusters));
clustersR = clusters;
clustersG = clusters;
clustersB = clusters;
for cluster = 1:size(unique(clusters), 1)
clustersR(clusters == cluster) = rand;
clustersG(clusters == cluster) = rand;
clustersB(clusters == cluster) = rand;
end
clusters(:, :, 1) = clustersR;
clusters(:, :, 2) = clustersG;
clusters(:, :, 3) = clustersB;
figure();
imshow(clusters);
clearvars clustersR clustersG clustersB cluster