필터 지우기
필터 지우기

Generate all colour permutations of an image

조회 수: 2 (최근 30일)
Noah Posner
Noah Posner 2021년 8월 25일
댓글: Noah Posner 2021년 8월 25일
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?

채택된 답변

Chunru
Chunru 2021년 8월 25일
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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Particle & Nuclear Physics에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by