Guest User

Untitled

a guest
Jul 19th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.38 KB | None | 0 0
  1. import hypermedia.video.*;
  2. import processing.opengl.*;
  3. import codeanticode.gsvideo.*;
  4. import codeanticode.glgraphics.*;
  5. import codeanticode.gltexture.*;
  6.  
  7. GSCapture cam;
  8. OpenCV opencv;
  9. GLGraphicsOffScreen capoff;
  10.  
  11.  
  12.  
  13. PImage img1, img2, img3, img4, img5, img6, img7, img8, img9, img10, img11, img12, img13, img14, img15, img16 ;
  14. //GLTexture tex1, tex2, tex3, tex4, tex5, tex6, tex7, tex8, tex9, tex10, tex11, tex12, tex13, tex14, tex15, tex16;
  15.  
  16.  
  17. String[] imgs1 = {
  18. "images/cell1_01.png","images/cell1_02.png","images/cell1_03.png","images/cell1_04.png","images/cell1_05.png","images/cell1_06.png","images/cell1_07.png","images/cell1_08.png","images/cell1_09.png","images/cell1_10.png", "images/cell1_t.png"};
  19. String[] imgs2 = {
  20. "images/cell2_01.png","images/cell2_02.png","images/cell2_03.png","images/cell2_04.png","images/cell2_05.png","images/cell2_06.png","images/cell2_07.png","images/cell2_08.png","images/cell2_09.png","images/cell2_10.png", "images/cell2_t.png"};
  21. String[] imgs3 = {
  22. "images/cell3_01.png","images/cell3_02.png","images/cell3_03.png","images/cell3_04.png","images/cell3_05.png","images/cell3_06.png","images/cell3_07.png","images/cell3_08.png","images/cell3_09.png","images/cell3_10.png", "images/cell3_t.png"};
  23. String[] imgs4 = {
  24. "images/cell4_01.png","images/cell4_02.png","images/cell4_03.png","images/cell4_04.png","images/cell4_05.png","images/cell4_06.png","images/cell4_07.png","images/cell4_08.png","images/cell4_09.png","images/cell4_10.png", "images/cell4_t.png"};
  25. String[] imgs5 = {
  26. "images/cell5_01.png","images/cell5_02.png","images/cell5_03.png","images/cell5_04.png","images/cell5_05.png","images/cell5_06.png","images/cell5_07.png","images/cell5_08.png","images/cell5_09.png","images/cell5_10.png", "images/cell5_t.png"};
  27. String[] imgs6 = {
  28. "images/cell6_01.png","images/cell6_02.png","images/cell6_03.png","images/cell6_04.png","images/cell6_05.png","images/cell6_06.png","images/cell6_07.png","images/cell6_08.png","images/cell6_09.png","images/cell6_10.png", "images/cell6_t.png"};
  29. String[] imgs7 = {
  30. "images/cell7_01.png","images/cell7_02.png","images/cell7_03.png","images/cell7_04.png","images/cell7_05.png","images/cell7_06.png","images/cell7_07.png","images/cell7_08.png","images/cell7_09.png","images/cell7_10.png", "images/cell7_t.png"};
  31. String[] imgs8 = {
  32. "images/cell8_01.png","images/cell8_02.png","images/cell8_03.png","images/cell8_04.png","images/cell8_05.png","images/cell8_06.png","images/cell8_07.png","images/cell8_08.png","images/cell8_09.png","images/cell8_10.png", "images/cell8_t.png"};
  33. String[] imgs9 = {
  34. "images/cell9_01.png","images/cell9_02.png","images/cell9_03.png","images/cell9_04.png","images/cell9_05.png","images/cell9_06.png","images/cell9_07.png","images/cell9_08.png","images/cell9_09.png","images/cell9_10.png", "images/cell9_t.png"};
  35. String[] imgs10 = {
  36. "images/cell10_01.png","images/cell10_02.png","images/cell10_03.png","images/cell10_04.png","images/cell10_05.png","images/cell10_06.png","images/cell10_07.png","images/cell10_08.png","images/cell10_09.png","images/cell10_10.png", "images/cell10_t.png"};
  37. String[] imgs11 = {
  38. "images/cell11_01.png","images/cell11_02.png","images/cell11_03.png","images/cell11_04.png","images/cell11_05.png","images/cell11_06.png","images/cell11_07.png","images/cell11_08.png","images/cell11_09.png","images/cell11_10.png", "images/cell11_t.png"};
  39. String[] imgs12 = {
  40. "images/cell12_01.png","images/cell12_02.png","images/cell12_03.png","images/cell12_04.png","images/cell12_05.png","images/cell12_06.png","images/cell12_07.png","images/cell12_08.png","images/cell12_09.png","images/cell12_10.png", "images/cell12_t.png"};
  41. String[] imgs13 = {
  42. "images/cell13_01.png","images/cell13_02.png","images/cell13_03.png","images/cell13_04.png","images/cell13_05.png","images/cell13_06.png","images/cell13_07.png","images/cell13_08.png","images/cell13_09.png","images/cell13_10.png", "images/cell13_t.png"};
  43. String[] imgs14 = {
  44. "images/cell14_01.png","images/cell14_02.png","images/cell14_03.png","images/cell14_04.png","images/cell14_05.png","images/cell14_06.png","images/cell14_07.png","images/cell14_08.png","images/cell14_09.png","images/cell14_10.png", "images/cell14_t.png"};
  45. String[] imgs15 = {
  46. "images/cell15_01.png","images/cell15_02.png","images/cell15_03.png","images/cell15_04.png","images/cell15_05.png","images/cell15_06.png","images/cell15_07.png","images/cell15_08.png","images/cell15_09.png","images/cell15_10.png", "images/cell15_t.png"};
  47. String[] imgs16 = {
  48. "images/cell16_01.png","images/cell16_02.png","images/cell16_03.png","images/cell16_04.png","images/cell16_05.png","images/cell16_06.png","images/cell16_07.png","images/cell16_08.png","images/cell16_09.png","images/cell16_10.png", "images/cell16_t.png"};
  49.  
  50. //Cell[] = cells;
  51.  
  52. void setup(){
  53.  
  54.  
  55. size(640, 480, GLConstants.GLGRAPHICS);
  56. colorMode(RGB, 255, 255, 255, 100);
  57. smooth();
  58. frameRate(30);
  59.  
  60. opencv = new OpenCV( this );
  61. opencv.capture( width, height );
  62. opencv.cascade( OpenCV.CASCADE_FRONTALFACE_ALT );
  63.  
  64.  
  65.  
  66.  
  67.  
  68. // cells = new Cell[16];
  69. // for(int c=0;c<faces.length;c++) {
  70. //
  71. // cells = new Cell[c];
  72. // }
  73. }
  74.  
  75.  
  76. public void stop() {
  77. opencv.stop();
  78. super.stop();
  79. }
  80.  
  81.  
  82. void draw(){
  83.  
  84.  
  85.  
  86. opencv.read();
  87. Rectangle[] faces = opencv.detect( 1.2, 2, OpenCV.HAAR_DO_CANNY_PRUNING, 40, 40 );
  88. image( opencv.image(), 0, 0 );
  89.  
  90. // //capture area //
  91. translate(0,0);
  92. for( int i=0; i< faces.length ; i++ )
  93. for( int cap=0; cap< faces.length ; cap++ ) {
  94.  
  95. int captX = 140;
  96. int captY = 48;
  97. int captSize = 20;
  98.  
  99. noStroke();
  100. fill(255,255,0);
  101. ellipse(captX,captY,captSize,captSize);
  102.  
  103. noFill();
  104. rect(captX,captY,360,360);
  105.  
  106. // noFill();
  107. // stroke(0);
  108. // rect( faces[i].x, faces[i].y , faces[i].width, faces[i].height );
  109.  
  110. fill(255,0,0);
  111. noStroke();
  112. ellipse(faces[cap].x - 10, faces[cap].y - 10, 10, 10);
  113.  
  114.  
  115.  
  116.  
  117.  
  118. if(captX < faces[cap].x && faces[cap].x < captX + captSize){
  119. if(captY < faces[cap].y & faces[cap].y < captY + captSize){
  120. fill(255,255,0);
  121. rect(0,height-10,width,height);
  122. //save("face + num + .png");
  123.  
  124. // offscreen //
  125.  
  126. capoff = new GLGraphicsOffScreen(this, 100, 100);
  127.  
  128. capoff.beginDraw();
  129.  
  130. noFill();
  131. noStroke();
  132. capoff.rect(0,0,100, 100);
  133. capoff.getCapabilities();
  134. capoff.getTexture();
  135.  
  136. // for(int capCount = 0; capCount<1; capCount++)
  137.  
  138.  
  139. int capCount = 1;
  140. capoff.save("cell1_" + capCount + ".png");
  141.  
  142.  
  143. capoff.endDraw();
  144.  
  145. }
  146. }
  147. }
  148.  
  149.  
  150. // cell draw //
  151.  
  152.  
  153. for( int j=0; j< faces.length ; j++ ){
  154.  
  155. float cellSizeX = faces[j].width / 4;
  156. float cellSizeY = faces[j].height / 4;
  157.  
  158. int cellSizeXInt = int(cellSizeX);
  159. int cellSizeYInt = int(cellSizeY);
  160. // float cellX = i*cellSizeX;
  161. // float cellY = j*cellSizeY;
  162.  
  163.  
  164. float spacingX = faces[j].width / 4;
  165. float spacingY = faces[j].height / 4;
  166.  
  167. translate(faces[j].x , faces[j].y);
  168.  
  169. // for ( float k=0; k<4; k++)
  170. // for ( float l=0; l<4; l++){
  171. //
  172. // // float(frameCount) = randomizor , assign different frameRate animation on different objects
  173. // // image(cells[c], faces[j].x*k , faces[j].y*l , cellSizeX , cellSizeY);
  174. // noFill();
  175. // stroke(0);
  176. // // image = cells[].filename;
  177. // rect(k*spacingX,l*spacingY,cellSizeX,cellSizeY);
  178. // }
  179.  
  180.  
  181.  
  182.  
  183.  
  184. if(mousePressed){
  185. save("face.jpg");
  186. }
  187.  
  188.  
  189.  
  190.  
  191. noStroke();
  192.  
  193. pushMatrix();
  194.  
  195. //img test
  196.  
  197. int mapping1 = round(random(0,imgs1.length-1));
  198. int mapping2 = round(random(0,imgs2.length-1));
  199. int mapping3 = round(random(0,imgs3.length-1));
  200. int mapping4 = round(random(0,imgs4.length-1));
  201. int mapping5 = round(random(0,imgs5.length-1));
  202. int mapping6 = round(random(0,imgs6.length-1));
  203. int mapping7 = round(random(0,imgs7.length-1));
  204. int mapping8 = round(random(0,imgs8.length-1));
  205. int mapping9 = round(random(0,imgs9.length-1));
  206. int mapping10 = round(random(0,imgs10.length-1));
  207. int mapping11 = round(random(0,imgs11.length-1));
  208. int mapping12 = round(random(0,imgs12.length-1));
  209. int mapping13 = round(random(0,imgs13.length-1));
  210. int mapping14 = round(random(0,imgs14.length-1));
  211. int mapping15 = round(random(0,imgs15.length-1));
  212. int mapping16 = round(random(0,imgs16.length-1));
  213. //
  214.  
  215. //1
  216. img1 = loadImage(imgs1[mapping1]);
  217. image(img1,0,0,cellSizeX,cellSizeY);
  218.  
  219. //2
  220. img2 = loadImage(imgs2[mapping2]);
  221. image(img2,spacingX,0,cellSizeX,cellSizeY);
  222.  
  223. //3
  224. img3 = loadImage(imgs3[mapping3]);
  225. image(img3,spacingX*2,0,cellSizeX,cellSizeY);
  226.  
  227. //4
  228. img4 = loadImage(imgs4[mapping4]);
  229. image(img4,spacingX*3,0,cellSizeX,cellSizeY);
  230.  
  231. //5
  232. img5 = loadImage(imgs5[mapping5]);
  233. image(img5,0,spacingY,cellSizeX,cellSizeY);
  234.  
  235. //6
  236. img6 = loadImage(imgs6[mapping6]);
  237. image(img6,spacingX,spacingY,cellSizeX,cellSizeY);
  238.  
  239. //7
  240. img7 = loadImage(imgs7[mapping7]);
  241. image(img7,spacingX*2,spacingY,cellSizeX,cellSizeY);
  242.  
  243. //8
  244. img8 = loadImage(imgs8[mapping8]);
  245. image(img8,spacingX*3,spacingY,cellSizeX,cellSizeY);
  246.  
  247. //9
  248. img9 = loadImage(imgs9[mapping9]);
  249. image(img9,0,spacingY*2,cellSizeX,cellSizeY);
  250.  
  251. //10
  252. img10 = loadImage(imgs10[mapping10]);
  253. image(img10,spacingX,spacingY*2,cellSizeX,cellSizeY);
  254.  
  255. //11
  256. img11 = loadImage(imgs11[mapping11]);
  257. image(img11,spacingX*2,spacingY*2,cellSizeX,cellSizeY);
  258.  
  259. //12
  260. img12 = loadImage(imgs12[mapping12]);
  261. image(img12,spacingX*3,spacingY*2,cellSizeX,cellSizeY);
  262.  
  263. //13
  264. img13 = loadImage(imgs13[mapping13]);
  265. image(img13,0,spacingY*3,cellSizeX,cellSizeY);
  266.  
  267. //14
  268. img14 = loadImage(imgs14[mapping14]);
  269. image(img14,spacingX,spacingY*3,cellSizeX,cellSizeY);
  270.  
  271. //15
  272. img15 = loadImage(imgs15[mapping15]);
  273. image(img15,spacingX*2,spacingY*3,cellSizeX,cellSizeY);
  274.  
  275. //16
  276. img16 = loadImage(imgs16[mapping16]);
  277. image(img16,spacingX*3,spacingY*3,cellSizeX,cellSizeY);
  278.  
  279. //delay(10);
  280.  
  281.  
  282.  
  283.  
  284. // //1
  285. //
  286. // fill(255,0,0,50);
  287. // rect(0,0,cellSizeX,cellSizeY);
  288. //
  289. //
  290. // //2
  291. // fill(255,50,0,50);
  292. // rect(spacingX,0,cellSizeX,cellSizeY);
  293. //
  294. // //3
  295. // fill(255,100,0,50);
  296. // rect(spacingX*2,0,cellSizeX,cellSizeY);
  297. //
  298. // //4
  299. // fill(255,150,0,50);
  300. // rect(spacingX*3,0,cellSizeX,cellSizeY);
  301. //
  302. // //5
  303. // fill(255,50,0,50);
  304. // rect(0,spacingY,cellSizeX,cellSizeY);
  305. //
  306. // //6
  307. // fill(255,100,0,50);
  308. // rect(spacingX,spacingY,cellSizeX,cellSizeY);
  309. //
  310. // //7
  311. // fill(255,150,0,50);
  312. // rect(spacingX*2,spacingY,cellSizeX,cellSizeY);
  313. //
  314. // //8
  315. // fill(255,100,0,50);
  316. // rect(spacingX*3,spacingY,cellSizeX,cellSizeY);
  317. //
  318. // //9
  319. // fill(255,100,0,50);
  320. // rect(0,spacingY*2,cellSizeX,cellSizeY);
  321. //
  322. // //10
  323. // fill(255,150,0,50);
  324. // rect(spacingX,spacingY*2,cellSizeX,cellSizeY);
  325. //
  326. // //11
  327. // fill(255,100,0,50);
  328. // rect(spacingX*2,spacingY*2,cellSizeX,cellSizeY);
  329. //
  330. // //12
  331. // fill(255,50,0,50);
  332. // rect(spacingX*3,spacingY*2,cellSizeX,cellSizeY);
  333. //
  334. // //13
  335. // fill(255,200,0,50);
  336. // rect(0,spacingY*3,cellSizeX,cellSizeY);
  337. //
  338. // //14
  339. // fill(255,100,0,50);
  340. // rect(spacingX,spacingY*3,cellSizeX,cellSizeY);
  341. //
  342. // //15
  343. // fill(255,50,0,50);
  344. // rect(spacingX*2,spacingY*3,cellSizeX,cellSizeY);
  345. //
  346. // //16
  347. // fill(255,0,0,50);
  348. // rect(spacingX*3,spacingY*3,cellSizeX,cellSizeY);
  349.  
  350. //tint(255, 50);
  351.  
  352.  
  353. popMatrix();
  354.  
  355.  
  356.  
  357. // println("faces.length = " + faces.length);
  358. // println("faces[j].x = " + faces[j].x);
  359. // println("faces[j].y = " + faces[j].y);
  360. // println("faces.width = " + faces[j].width);
  361. // println("faces.height = " + faces[j].height);
  362.  
  363.  
  364.  
  365. }
  366.  
  367. }
Add Comment
Please, Sign In to add comment