This program “Converting an image into an image of colored disks" transforms an image into a picture composed of a series of colored disk of different sizes and colors. The disks have 8 sizes of different colors. The colors are determined by the dominate image colors.
Notes:
(1) Programming this code has used suggestions by Mathematica AI Assistant Chat.
(2) A more random set of disk might be made using this discussion
https://mathematica.stackexchange.com/questions/87676/random-non-overlapping-disks-in-a-square
(1) Programming this code has used suggestions by Mathematica AI Assistant Chat.
(2) A more random set of disk might be made using this discussion
https://mathematica.stackexchange.com/questions/87676/random-non-overlapping-disks-in-a-square
In[]:=
img=Import["C:\\Users\\gag00\\Desktop\\DiskArt\\Slides3333.jpg"];
In[]:=
{w,h}=ImageDimensions[img];col=Black;(*Whitebackgroundproducesadifferenteffect*)resolutions[k_]:=30+k*20(*settingsequenceofsizes*);
In[]:=
k=1;smallImg=ImageResize[img,resolutions[k]];pixels=ImageData[smallImg];(*MatrixofRGBvalues*){rows,cols}=Dimensions[pixels][[1;;2]];diskMosaic1=Graphics[Table[{RGBColor[pixels[[r,c]]],Disk[{c,rows-r+1},0.5]},{r,1,rows},{c,1,cols}],Background->col];k=2;smallImg=ImageResize[img,resolutions[k]];pixels=ImageData[smallImg];{rows,cols}=Dimensions[pixels][[1;;2]];diskMosaic2=Graphics[Table[{RGBColor[pixels[[r,c]]],Disk[{c,rows-r+1},0.5]},{r,1,rows},{c,1,cols}],Background->col];k=3;smallImg=ImageResize[img,resolutions[k]];pixels=ImageData[smallImg];{rows,cols}=Dimensions[pixels][[1;;2]];diskMosaic3=Graphics[Table[{RGBColor[pixels[[r,c]]],Disk[{c,rows-r+1},0.5]},{r,1,rows},{c,1,cols}],Background->col];k=4;smallImg=ImageResize[img,resolutions[k]];pixels=ImageData[smallImg];{rows,cols}=Dimensions[pixels][[1;;2]];diskMosaic4=Graphics[Table[{RGBColor[pixels[[r,c]]],Disk[{c,rows-r+1},0.5]},{r,1,rows},{c,1,cols}],Background->col];k=5;smallImg=ImageResize[img,resolutions[k]];pixels=ImageData[smallImg];{rows,cols}=Dimensions[pixels][[1;;2]];diskMosaic5=Graphics[Table[{RGBColor[pixels[[r,c]]],Disk[{c,rows-r+1},0.5]},{r,1,rows},{c,1,cols}],Background->col];k=6;smallImg=ImageResize[img,resolutions[k]];pixels=ImageData[smallImg];{rows,cols}=Dimensions[pixels][[1;;2]];diskMosaic6=Graphics[Table[{RGBColor[pixels[[r,c]]],Disk[{c,rows-r+1},0.5]},{r,1,rows},{c,1,cols}],Background->col];k=7;smallImg=ImageResize[img,resolutions[k]];pixels=ImageData[smallImg];{rows,cols}=Dimensions[pixels][[1;;2]];diskMosaic7=Graphics[Table[{RGBColor[pixels[[r,c]]],Disk[{c,rows-r+1},0.5]},{r,1,rows},{c,1,cols}],Background->col];k=8;smallImg=ImageResize[img,resolutions[k]];pixels=ImageData[smallImg];{rows,cols}=Dimensions[pixels][[1;;2]];diskMosaic8=Graphics[Table[{RGBColor[pixels[[r,c]]],Disk[{c,rows-r+1},0.5]},{r,1,rows},{c,1,cols}],Background->col];
In[]:=
imgs=ImageResize[#,{w,h}]&/@{diskMosaic1,diskMosaic2,diskMosaic3,diskMosaic4,diskMosaic5,diskMosaic6,diskMosaic7,diskMosaic8};
In[]:=
standaresize=ImageDimensions[diskMosaic1];
In[]:=
diskMosaic1=ImageResize[diskMosaic1,standaresize];diskMosaic2=ImageResize[diskMosaic2,standaresize];diskMosaic3=ImageResize[diskMosaic3,standaresize];diskMosaic4=ImageResize[diskMosaic4,standaresize];diskMosaic5=ImageResize[diskMosaic5,standaresize];diskMosaic6=ImageResize[diskMosaic6,standaresize];diskMosaic7=ImageResize[diskMosaic7,standaresize];diskMosaic8=ImageResize[diskMosaic8,standaresize];
In[]:=
diskMosaic={diskMosaic1,diskMosaic2,diskMosaic3,diskMosaic4,diskMosaic5,diskMosaic6,,diskMosaic7,diskMosaic8};
In[]:=
DominantColors[img,4,{"Color","Coverage","CoverageImage"}];
In[]:=
res=DominantColors[img,Automatic,{"CoverageImage","Color"}](*givesmasksandcolorsovertheimageforwhichspecifiddiskwillbeused*);
In[]:=
imgg01=ImageMultiply[res[[1,1]],ImageResize[diskMosaic1,ImageDimensions[res[[1,1]]]]];
In[]:=
imgg02=ImageMultiply[res[[2,1]],ImageResize[diskMosaic2,ImageDimensions[res[[2,1]]]]];
In[]:=
imgg03=ImageMultiply[res[[3,1]],ImageResize[diskMosaic3,ImageDimensions[res[[3,1]]]]];
In[]:=
imgg04=ImageMultiply[res[[4,1]],ImageResize[diskMosaic4,ImageDimensions[res[[4,1]]]]];
In[]:=
imgg05=ImageMultiply[res[[5,1]],ImageResize[diskMosaic5,ImageDimensions[res[[5,1]]]]];
In[]:=
imgg06=ImageMultiply[res[[6,1]],ImageResize[diskMosaic6,ImageDimensions[res[[6,1]]]]];
In[]:=
maskedImages=Map[ImageApply[If[#==={0.,0.,0.},{0.,0.,0.},#]&,#]&,{imgg01,imgg02,imgg03,imgg04,imgg05,imgg06}];
In[]:=
result=ImageAdd[maskedImages];
In[]:=
finalimage=ImageAdjust[result,{0.0,0.25}](*contrast,saturationandgammalevels*)
End of Program 🔴 🟠🟡 🟢🔵