{"id":991,"date":"2014-04-16T22:10:47","date_gmt":"2014-04-16T22:10:47","guid":{"rendered":"http:\/\/kraftek.com\/blog\/?p=991"},"modified":"2014-04-28T03:59:51","modified_gmt":"2014-04-28T03:59:51","slug":"autogenerate-art-lol","status":"publish","type":"post","link":"\/blog\/index.php\/autogenerate-art-lol\/","title":{"rendered":"Autogenerate &#8220;PopArt&#8221;"},"content":{"rendered":"<p>This one downloads images from google and applies imagemagick filters to them to convert them in pseudo-PopArt-ish images<\/p>\n<pre>#!\/bin\/bash\r\nset -x\r\n\r\nred=\"#B0232A\"\r\ngreen=\"#009543\"\r\nblue=\"#003B6F\"\r\nyellow=\"#EADB1B\"\r\nresolution=1280\r\n\r\nD=\/cygdrive\/c\/Users\/Roberto_Dircio\/Desktop\/popart\r\nmkdir -p $D\r\ncd $D\r\n#rm -fR $D\/*\r\n\r\nfunction getimages {\r\nQUERY=`shuf -n 1 \/scripts\/POPART\/wallpaper-subjects.txt| sed 's\/ \/%20\/g'`\r\nfor page in 1 2 3 4;do\r\n#for page in 1;do\r\n        i=$(((${page}-1)*21))\r\n        curl -m 2 -A \"Mozilla\/3.0 (compatible; AvantGo 3.2)\" \"http:\/\/images.google.com\/images?as_q=${QUERY}&amp;safe=off&amp;start=${i}&amp;as_st=y&amp;tbm=isch&amp;tbs=isz:m,ic:white,iar:s\" 2&gt;\/dev\/null |sed -e 's\/&gt;\/&gt;\\n\/g' | awk '{s=substr($0,index($0,\"imgurl=\"),index($0,\"&amp;\"));print substr(s,1,index(s,\"&amp;\")-1)}' | grep imgurl|sed 's\/imgurl=\/\/g'| egrep -v 'starkeith|gstatic|sca${red}monkeys|tripod|flickr'|sed 's\/2520\/20\/g' | while read url;do\r\n(\r\n                F=`echo $url | awk -F'\\\/' '{ print $NF }'`\r\n                t=`echo \"${F}\"| tr -d \"[:punct:]\"|sed \"s\/;\/\/g;s\/:\/_\/g;s\/\\*\/\/g;s\/\u00f3\/o\/g;s\/\u00ed\/i\/g;s\/\u00fa\/u\/g;s\/\u00e1\/a\/g;s\/\u00e9\/e\/g;s\/\u00f1\/n\/g;s\/\\&amp;\/And\/g;s\/-\/_\/g;s\/%\/\/g;s\/ \/_\/g;s\/(\/\/g;s\/)\/\/g;s\/\\[\/\/g;s\/\\]\/\/g;s\/'\/\/g;s\/,\/_\/g\" | tr -s '_'|tr '[:upper:]' '[:lower:]' |sed 's\/\\([a-z]\\)\\([a-zA-Z0-9]*\\)\/\\u\\1\\2\/g;s\/Mp3\/mp3\/g'| sed 's\/mp3\/\/g;s\/U0026quot\/\/g;s\/U0026amp\/\/g;s\/U0026amp\/\/g;s\/_amp_\/\/g'| sed 's\/\\\\\\\/\/g'`\r\n                A=`echo $t | egrep -i 'jpg|jpeg' | wc -l`\r\n                B=`echo $t | grep -i \"png\" | wc -l`\r\n                C=`echo $t | grep -i \"gif\" | wc -l`\r\n                D=`echo $t | grep -i \"svg\" | wc -l`\r\n                if [ $A -gt 0 ];then\r\n                        t=`echo $t | sed 's\/jpg\/\/g'`\r\n                        t=\"${t}.jpg\"\r\n                fi\r\n                if [ $B -gt 0 ];then\r\n                                t=`echo $t | sed 's\/png\/\/g'`\r\n                                t=\"${t}.png\"\r\n                fi\r\n                if [ $C -gt 0 ];then\r\n                                t=`echo $t | sed 's\/${ext}\/\/g'`\r\n                                t=\"${t}.${ext}\"\r\n                fi\r\n                if [ $D -gt 0 ];then\r\n                                t=`echo $t | sed 's\/svg\/\/g'`\r\n                                t=\"${t}.svg\"\r\n                fi\r\n                if [ ! -f $t ];then\r\n                        wget -O $t --timeout=10 $url\r\n                        ES=\"$?\"\r\n                        if [ $ES -lt 1 ];then\r\n                                transform \"$t\"\r\n                        else\r\n                                rm $t\r\n                        fi\r\n                else\r\n                        echo \"[!] ---------------------- file exists , not re-processing : $t\"\r\n                fi\r\n) &amp;\r\n        done\r\ndone\r\n}\r\n\r\nfunction transform {\r\nset -x\r\nf=\"$@\"\r\nA=$(($RANDOM%50))\r\nB=$(($RANDOM%50))\r\nC=$(($RANDOM%50))\r\nD=$(($RANDOM%50))\r\n\r\nconvert -colorspace Gray -resize ${resolution} -page -$A-$B \"$f\" -background white -flatten -contrast-stretch 40% -fuzz 50% -colorspace RGB -fill \"${blue}\" -opaque black \"${f}_a\"\r\nconvert -colorspace Gray -resize ${resolution} -page +$C+$D \"$f\" -background white -flatten -contrast-stretch 40% -fuzz 50% -colorspace RGB -fill \"${red}\" -opaque black \"${f}_b\"\r\nconvert -colorspace Gray -resize ${resolution} -page -$D-$B \"$f\" -background white -flatten -contrast-stretch 40% -fuzz 50% -colorspace RGB -fill \"${green}\" -opaque black \"${f}_c\"\r\nconvert -colorspace Gray -resize ${resolution} -page +$A+$C \"$f\" -background white -flatten -contrast-stretch 40% -fuzz 50% -colorspace RGB -fill \"${yellow}\" -opaque black \"${f}_d\"\r\n\r\nconvert \"$f\" -colorspace Gray -resize ${resolution} -contrast-stretch 10% \\( \"${f}_a\" -alpha set -channel A -fx '0.8' \\) -compose Overlay -composite ${f}_e\r\nconvert \"$f\" -colorspace Gray -resize ${resolution} -contrast-stretch 10% \\( \"${f}_b\" -alpha set -channel A -fx '0.8' \\) -compose Overlay -composite ${f}_f\r\nconvert \"$f\" -colorspace Gray -resize ${resolution} -contrast-stretch 10% \\( \"${f}_c\" -alpha set -channel A -fx '0.8' \\) -compose Overlay -composite ${f}_g\r\nconvert \"$f\" -colorspace Gray -resize ${resolution} -contrast-stretch 10% \\( \"${f}_d\" -alpha set -channel A -fx '0.8' \\) -compose Overlay -composite ${f}_h\r\n\r\nconvert \"${f}\" -colorspace Gray -resize ${resolution} -negate -fuzz 10% -colorspace RGB -fill \"${blue}\" -opaque black \\( \"${f}_d\" -alpha set -channel A -fx '0.8' \\) -compose Overlay -composite \"${f}_i\"\r\nconvert \"${f}\" -colorspace Gray -resize ${resolution} -negate -fuzz 10% -colorspace RGB -fill \"${red}\" -opaque black \\( \"${f}_c\" -alpha set -channel A -fx '0.8' \\) -compose Overlay -composite \"${f}_j\"\r\nconvert \"${f}\" -colorspace Gray -resize ${resolution} -negate -fuzz 10% -colorspace RGB -fill \"${green}\" -opaque black \\( \"${f}_b\" -alpha set -channel A -fx '0.8' \\) -compose Overlay -composite \"${f}_k\"\r\nconvert \"${f}\" -colorspace Gray -resize ${resolution} -negate -fuzz 10% -colorspace RGB -fill \"${yellow}\" -opaque black \\( \"${f}_a\" -alpha set -channel A -fx '0.8' \\) -compose Overlay -composite \"${f}_l\"\r\n\r\nconvert \\( \"${f}\" -resize ${resolution} -page -$A-$B -flatten -contrast-stretch 20% -alpha set -channel A -fx '0.8' \\) \"${f}_i\" -compose Linear_Light -composite ${f}_m\r\nconvert \\( \"${f}\" -resize ${resolution} -page +$A+$C -flatten -contrast-stretch 20% -alpha set -channel A -fx '0.8' \\) \"${f}_j\" -compose Linear_Light -composite ${f}_n\r\nconvert \\( \"${f}\" -resize ${resolution} -page +$C+$D -flatten -contrast-stretch 20% -alpha set -channel A -fx '0.8' \\) \"${f}_k\" -compose Linear_Light -composite ${f}_o\r\nconvert \\( \"${f}\" -resize ${resolution} -page -$D-$B -flatten -contrast-stretch 20% -alpha set -channel A -fx '0.8' \\) \"${f}_l\" -compose Linear_Light -composite ${f}_p\r\n\r\nconvert \"${f}_l\" -negate  \\( \"${f}\" -resize ${resolution} -page +$A+$C  -flatten -contrast-stretch 20% -alpha set -channel A -fx '0.8' \\) -compose Linear_Light -composite ${f}_q\r\n\r\nconvert \"${f}_j\" -negate  \\( \"${f}\" -resize ${resolution} -page +$A+$C  -flatten -contrast-stretch 20% -alpha set -channel A -fx '0.8' \\) -compose Linear_Light -composite ${f}_r\r\nconvert \"${f}_k\" -negate  \\( \"${f}\" -resize ${resolution} -page +$A+$C  -flatten -contrast-stretch 20% -alpha set -channel A -fx '0.8' \\) -compose Linear_Light -composite ${f}_s\r\n\r\next=`echo ${f} | awk -F. '{ print $NF }'`\r\nN=`echo $t | sed 's\/svg\/\/g;s\/png\/\/g;s\/${ext}\/\/g;s\/jpg\/\/g;s\/\\.\/\/g'`\r\nfor letter in a b c d e f g h i j k l m n o p q r s;do\r\n        mv \"${f}_${letter}\" \"${N}_${letter}.${ext}\"\r\n        convert \"${N}_${letter}.${ext}\" -ordered-dither h6x6o -channel RGBA -blur 0x1 \"${N}_${letter}.${ext}\"\r\ndone\r\n\r\nconvert \"${f}\" -resize ${resolution} \"${f}\"\r\n\r\nO=`echo \"a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;\" | sed -r 's\/(.[^;]*;)\/ \\1 \/g' | tr \" \" \"\\n\" | shuf | tr -d \"\\n\"|sed 's\/;\/ \/g'`\r\n\r\nb=\"-bordercolor white -border 50x50\"\r\n\r\nx=1\r\ns=\"convert ( ${f} \"\r\nfor l in $O;do\r\n        x=$(($x + 1))\r\n        m=$(($x%4))\r\n        if [ $m -eq 1 ];then\r\n                s=$s\" ( ${N}_${l}.${ext} \"\r\n        fi\r\n        if [ $m -eq 0 ];then\r\n                s=$s\" ${N}_${l}.${ext} $b +append ) \"\r\n        fi\r\n        if [ $m -gt 1 ];then\r\n                s=$s\" ${N}_${l}.${ext} \"\r\n        fi\r\ndone\r\ns=$s\" -background white -append Z_results\/appended_${N}.${ext}\"\r\n$s\r\n\r\n}\r\n\r\ngetimages<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>This one downloads images from google and applies imagemagick filters to them to convert them in pseudo-PopArt-ish images #!\/bin\/bash set -x red=&#8221;#B0232A&#8221; green=&#8221;#009543&#8243; blue=&#8221;#003B6F&#8221; yellow=&#8221;#EADB1B&#8221; resolution=1280 D=\/cygdrive\/c\/Users\/Roberto_Dircio\/Desktop\/popart mkdir -p $D cd $D #rm -fR $D\/* function getimages { QUERY=`shuf -n 1 \/scripts\/POPART\/wallpaper-subjects.txt| sed &#8216;s\/ \/%20\/g&#8217;` for page in 1 2 3 4;do #for page in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-991","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"\/blog\/index.php\/wp-json\/wp\/v2\/posts\/991","targetHints":{"allow":["GET"]}}],"collection":[{"href":"\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=991"}],"version-history":[{"count":6,"href":"\/blog\/index.php\/wp-json\/wp\/v2\/posts\/991\/revisions"}],"predecessor-version":[{"id":1015,"href":"\/blog\/index.php\/wp-json\/wp\/v2\/posts\/991\/revisions\/1015"}],"wp:attachment":[{"href":"\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=991"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=991"},{"taxonomy":"post_tag","embeddable":true,"href":"\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}