Filter löschen
Filter löschen

Generate all colour permutations of an image

2 Ansichten (letzte 30 Tage)
Noah Posner
Noah Posner am 25 Aug. 2021
Kommentiert: Noah Posner am 25 Aug. 2021
Hello,
I am looking to take the mondrian art image below and generate all the possible colour permutations. Does anyone have advice as to how to go about this?

Akzeptierte Antwort

Chunru
Chunru am 25 Aug. 2021
x = imread("image.png");
image(x)
% unique colors in the image
uc = unique(reshape(x, numel(x)/3, 3), 'rows');
nc = size(uc, 1);
fprintf('There are %d unique colors\n', nc);
p = perms(1:nc);
fprintf('There are %d permutations of colors\n', size(p, 1));
x2 = reshape(x, numel(x)/3, 3);
for i=1:size(p,1)
xp = x2;
for j=1:nc
idx = all(x2 == uc(j,:), 2);
for k=1:3
xp(idx, k) = uc(p(i,j), k);
end
end
xp = reshape(xp, size(x));
image(xp);
drawnow
pause(0.05)
end

Weitere Antworten (0)

Kategorien

Mehr zu Particle & Nuclear Physics finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by