Advertisement
Guest User

A Greedy Algorithm to Paint an Image by Randomly Exploring a Space of Brush Strokes (v.2)

a guest
Aug 26th, 2021
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.13 KB | None | 0 0
  1. paint :
  2.   +diffusiontensors 0.1,0.6,0.5,3
  3.   100%,100%,1,3,255
  4.   +mse[0,2] mse_best={i[1]} rm.
  5.  
  6.   f=0
  7.   repeat inf
  8.     100%,100%
  9.     32,1,1,1,"*
  10.      lmax = u(40);
  11.      const da = 10;
  12.      const dl = 0.3;
  13.      X0 = round(u([w#0,h#0]-1));
  14.      for (a = 0, a<360, a+=da,
  15.        X = X0;
  16.        U = [ cos(a°), sin(a°) ];
  17.        for (l = 0, l<lmax, l+=dl,
  18.          C = I(#1,X,1);
  19.          T = [ C[0],C[1],C[1],C[2] ];
  20.          eig = eig(T);
  21.          l1 = eig[0];
  22.          l2 = eig[1];
  23.          u = eig[2];
  24.          v = eig[3];
  25.          ellipse(#-1,X[0],X[1],3*l1,3*l2,atan2(v,u),1,1);
  26.          nU = T*U;
  27.          X+=nU*dl;
  28.        );
  29.    );" rm.
  30.  
  31.     +label_fg. 0 {iM+1},1,1,3,u(0,255) point. 0,0,0,1,0 map.. . rm.
  32.     +blend[0] .,shapeaverage0
  33.     blend[-2,-1] alpha,{u(0.75,1)}
  34.     distance.. 0 n.. 0,1 pow.. {u(0.5)} # f.. "i?cut(i+u(-0.25,0.25),0,1):i"
  35.  
  36.     +j[2] .,0,0,0,0,{u(0.15,1)},..
  37.     +mse[0,-1] mse={i[1]} rm.
  38.     if $mse<$mse_best
  39.       j[2] . mse_best=$mse +e $mse_best
  40.       to. {round($mse_best)},0.01~,0.01~,4%
  41.       w. # on. frame.jpg,$f
  42.       f+=1
  43.     fi
  44.     rm[-3--1]
  45.  
  46.   done
  47.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement