openFrameworks 外部ファイルを利用する - 画像、動画 - 多摩美メディアアートII

14,234 views
14,445 views

Published on

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
14,234
On SlideShare
0
From Embeds
0
Number of Embeds
6,673
Actions
Shares
0
Downloads
157
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

openFrameworks 外部ファイルを利用する - 画像、動画 - 多摩美メディアアートII

  1. 1. ‣‣‣‣‣‣‣‣‣
  2. 2. ‣‣ http://goo.gl/T5sov
  3. 3. ‣‣‣
  4. 4.
  5. 5.
  6. 6. ‣‣
  7. 7. ‣‣
  8. 8. ‣ R G B A R G B A R R G B R G B R G B K K K K K K K K K
  9. 9. ‣‣//ofImageofImage myImage;//myImage.loadImage(" ");!//myImage.draw(float x, float y, float w, float h);
  10. 10. ‣‣‣
  11. 11. ‣#pragma once#include "ofMain.h"class testApp : public ofBaseApp{!public:! void setup();! void update();! void draw();! //ofImage! ofImage myImage;};
  12. 12. ‣#include "testApp.h"void testApp::setup(){! ofBackground(0, 0, 0);!! //! myImage.loadImage("t_hero.png");!}void testApp::update(){}void testApp::draw(){! //! int left = (ofGetWidth() - myImage.width) / 2;! int top = (ofGetHeight() - myImage.height) / 2;!! //! myImage.draw(left, top);}
  13. 13.
  14. 14. ‣‣‣unsigned char * pixels = rioImage.getPixels();‣
  15. 15. ‣‣‣‣‣‣
  16. 16. ‣#include "testApp.h"void testApp::setup(){! ofBackground(0, 0, 0);!! //! myImage.loadImage("t_hero.png");}void testApp::update(){}void testApp::draw(){! //! int left = (ofGetWidth() - myImage.width) / 2;! int top = (ofGetHeight() - myImage.height) / 2;! ofTranslate(left, top);!! //! unsigned char * pixels = myImage.getPixels();
  17. 17. ‣! //20 Rect! int skip = 20;! for (int i = 0; i < myImage.width; i = i + skip){! ! for (int j = 0; j < myImage.height; j = j + skip){! ! ! int brightness = pixels[j*myImage.width + i];! ! ! ofSetColor(brightness, brightness, brightness);! ! ! ofRect(i, j, skip, skip);!! ! }! }}
  18. 18.
  19. 19. ‣‣‣
  20. 20. ‣void testApp::draw(){! //! int left = (ofGetWidth() - myImage.width) / 2;! int top = (ofGetHeight() - myImage.height) / 2;! ofTranslate(left, top);!! //! unsigned char * pixels = myImage.getPixels();! //10 Rect! int skip = 12;! ofSetColor(0, 0, 0);! for (int i = 0; i < myImage.width; i = i + skip){! ! for (int j = 0; j < myImage.height; j = j + skip){! ! ! int brightness = pixels[j*myImage.width + i];! ! ! // (%)! ! ! float pct = 1.0 - brightness / 255.0f;! ! ! //! ! ! ofCircle(i, j, pct * skip * 0.5);! ! }! }}
  21. 21.
  22. 22.
  23. 23. ‣void testApp::draw(){! int left = (ofGetWidth() - myImage.width) / 2;! int top = (ofGetHeight() - myImage.height) / 2;! ofTranslate(left, top);! unsigned char * pixels = myImage.getPixels();! int skip = 8;! ofSetColor(255, 255, 255);! ofSetLineWidth(3);! for (int i = 0; i < myImage.width; i = i + skip){! ! for (int j = 0; j < myImage.height; j = j + skip){! ! ! int brightness = pixels[j*myImage.width + i];! ! ! float pct = 1.0 - brightness / 255.0f;! ! ! //! ! ! ofPushMatrix();! ! ! ofTranslate(i, j);! ! ! ofRotateZ(pct * 90);! ! ! ofLine(-skip, 0, skip, 0);! ! ! ofPopMatrix();! ! }! }}
  24. 24.
  25. 25.
  26. 26. ‣‣‣‣
  27. 27. ‣#include "testApp.h"void testApp::setup(){! ofBackground(255, 255, 255);! //! myImage.loadImage("t_hero.png");!! //8! pixelString = " .-+*a&@";!}void testApp::update(){!}void testApp::draw(){! int left = (ofGetWidth() - myImage.width) / 2;! int top = (ofGetHeight() - myImage.height) / 2;! ofTranslate(left, top);! unsigned char * pixels = myImage.getPixels();! int skip = 6;! ofSetColor(0, 0, 0);
  28. 28. ‣!! for (int i = 0; i < myImage.width; i = i + skip){! ! for (int j = 0; j < myImage.height; j = j + skip){! ! ! int brightness = pixels[j*myImage.width + i];! ! ! float pct = 1.0 - brightness / 255.0f;! ! ! //! ! ! string str = pixelString.substr(int(pct * 8),1);! ! ! //! ! ! ofDrawBitmapString(str, i, j);! ! }! }}
  29. 29.
  30. 30. ‣‣ R G B R G B R G B‣‣‣‣
  31. 31. ‣void testApp::draw(){! //! int left = (ofGetWidth() - myImage.width) / 2;! int top = (ofGetHeight() - myImage.height) / 2;! ofTranslate(left, top);!! //! unsigned char * pixels = myImage.getPixels();! //10 Rect! int skip = 10;! for (int i = 0; i < myImage.width; i = i + skip){! ! for (int j = 0; j < myImage.height; j = j + skip){! ! ! //RGB! ! ! int r = pixels[j * myImage.width * 3 + i * 3];! ! ! int g = pixels[j * myImage.width * 3 + i * 3 + 1];! ! ! int b = pixels[j * myImage.width * 3 + i * 3 + 2];! ! ! //! ! ! ofSetColor(r, g, b);! ! ! ofRect(i, j, skip, skip);!! ! }! }}
  32. 32.
  33. 33. ‣‣‣‣
  34. 34. ‣void testApp::draw(){! int left = (ofGetWidth() - myImage.width) / 2;! int top = (ofGetHeight() - myImage.height) / 2;! ofTranslate(left, top);! unsigned char * pixels = myImage.getPixels();! int skip = 8;! for (int i = 0; i < myImage.width; i = i + skip){! ! for (int j = 0; j < myImage.height; j = j + skip){! ! ! int r = pixels[j * myImage.width * 3 + i * 3];! ! ! int g = pixels[j * myImage.width * 3 + i * 3 + 1];! ! ! int b = pixels[j * myImage.width * 3 + i * 3 + 2];! ! ! int brightness = (r + g + b) / 3.0f * 255.0f;! ! ! float pct = 1.0 - (r + g + b) / 3.0f / 255.0f;! ! ! //! ! ! ofSetColor(r, g, b);! ! ! ofPushMatrix();! ! ! ofTranslate(i, j);! ! ! ofRotateZ(pct * 360);! ! ! ofLine(-pct*skip*4, 0, pct*skip*4, 0);! ! ! ofPopMatrix();! ! }! }}
  35. 35.
  36. 36. ‣‣
  37. 37. ‣‣‣‣
  38. 38.
  39. 39. ‣#pragma once#include "ofMain.h"class testApp : public ofBaseApp{public: void setup(); void update(); void draw();! // ofVideoGrabber myVideo;};
  40. 40. ‣#include "testApp.h"void testApp::setup(){! ofSetFrameRate(60);! ofBackground(0, 0, 0);! //640x480 pixel myVideo.initGrabber(640, 480, true);}void testApp::update(){! // myVideo.update();}void testApp::draw(){! //! int left = (ofGetWidth() - myVideo.width) / 2;! int top = (ofGetHeight() - myVideo.height) / 2;! ofTranslate(left, top);!! //! myVideo.draw(0, 0);}
  41. 41. ‣‣
  42. 42. ‣#include "testApp.h"void testApp::setup(){! ofSetFrameRate(60);! ofBackground(0, 0, 0);! ofSetRectMode(OF_RECTMODE_CENTER);!! //640x480 pixel myVideo.initGrabber(800, 600, true);}void testApp::update(){! // myVideo.update();}void testApp::draw(){! //! int left = (ofGetWidth() - myVideo.width) / 2;! int top = (ofGetHeight() - myVideo.height) / 2;! ofTranslate(left, top);!! //! unsigned char * pixels = myVideo.getPixels();
  43. 43. ‣! int skip = 12;! for (int i = 0; i < myVideo.width; i = i + skip){! ! for (int j = 0; j < myVideo.height; j = j + skip){ //RGB int r = pixels[j * myVideo.width * 3 + i * 3];! ! ! int g = pixels[j * myVideo.width * 3 + i * 3 + 1];! ! ! int b = pixels[j * myVideo.width * 3 + i * 3 + 2];! ! ! //! ! ! int brightness = (r + g + b) / 3.0f * 255.0f;! ! ! float pct = (r + g + b) / 3.0f / 255.0f;! ! ! //! ! ! ofSetColor(255,255,255);! ! ! ofPushMatrix();! ! ! ofTranslate(i, j);! ! ! ofRotateZ(pct * 180);! ! ! ofRect(0, 0, skip * pct, skip * pct);! ! ! ofPopMatrix();! ! }! }}
  44. 44.
  45. 45. ‣‣
  46. 46. ‣#include "testApp.h"void testApp::setup(){! ofSetFrameRate(60);! ofBackground(255, 255, 255);! ofSetRectMode(OF_RECTMODE_CENTER);! //8! pixelString = " .-+*a&@";! //640x480 pixel myVideo.initGrabber(800, 600, true);}void testApp::update(){! // myVideo.update();}void testApp::draw(){! //! int left = (ofGetWidth() - myVideo.width) / 2;! int top = (ofGetHeight() - myVideo.height) / 2;! //! unsigned char * pixels = myVideo.getPixels();
  47. 47. ‣! int skip = 8;! ofTranslate(left, top+skip);! ofSetColor(0, 0, 0);! for (int i = 0; i < myVideo.width; i = i + skip){! ! for (int j = 0; j < myVideo.height; j = j + skip){! ! ! //RGB! ! ! int r = pixels[j * myVideo.width * 3 + i * 3];! ! ! int g = pixels[j * myVideo.width * 3 + i * 3 + 1];! ! ! int b = pixels[j * myVideo.width * 3 + i * 3 + 2];! ! ! //! ! ! float pct = 1.0 - (r + g + b) / 3.0f / 255.0f;! ! ! //! ! ! string str = pixelString.substr(int(pct * 8),1);! ! ! //! ! ! ofDrawBitmapString(str, i, j);! ! }! }}
  48. 48.
  49. 49. ‣‣
  50. 50. ‣‣‣‣ http://www.ustream.tv/recorded/16077641
  51. 51. ‣‣
  52. 52. ‣#pragma once#include "ofMain.h"class testApp : public ofBaseApp {!public:! void setup();! void update();! void draw();! void keyPressed(int key);! void mousePressed(int x, int y, int button);!! void reset();! ofImage img;! ofImageQualityType quality;};
  53. 53. ‣#include "testApp.h"void testApp::setup() {! ofSetFrameRate(60);! ofSetBackgroundAuto(false);! //Jpeg! quality = OF_IMAGE_QUALITY_WORST;! //! reset();}void testApp::reset() {! //! img.loadImage("input.jpg");}void testApp::update() {! //Jpeg! string compressedFilename = "compressed.jpg";! //Jpeg! img.saveImage(compressedFilename, quality);! ofBuffer file = ofBufferFromFile(compressedFilename);! int fileSize = file.size();
  54. 54. ‣! //Jepg! char * buffer = file.getBinaryBuffer();! //! int whichByte = (int) ofRandom(fileSize);! //ON bit! int whichBit = ofRandom(8);! // ( ?)! char bitMask = 1 << whichBit;! buffer[whichByte] |= bitMask;! //glitch! ofBufferToFile(compressedFilename, file);! //! img.loadImage(compressedFilename);}void testApp::draw() {! //glitch! ofSetColor(255,255,255);! img.draw(0, 0, ofGetWidth(), ofGetHeight());}
  55. 55. ‣void testApp::keyPressed (int key){! //! reset();}void testApp::mousePressed(int x, int y, int button){! //! reset();}
  56. 56.
  57. 57.
  58. 58. ‣#pragma once#include "ofMain.h"class testApp : public ofBaseApp {!public:! void setup();! void update();! void draw();! void keyPressed(int key);! void mousePressed(int x, int y, int button);!! void reset();!! ofImage img;! ofImageQualityType quality;! ofVideoGrabber myVideo;};
  59. 59. ‣#include "testApp.h"void testApp::setup() {! ofSetFrameRate(60);! quality = OF_IMAGE_QUALITY_WORST;! //! myVideo.initGrabber(320, 240, true);! // ofImage! img.grabScreen(0, 0, ofGetWidth(), ofGetHeight());}void testApp::reset() {! //! myVideo.update();! // 1! myVideo.draw(0, 0, ofGetWidth(), ofGetHeight());! // ofImage! img.grabScreen(0, 0, ofGetWidth(), ofGetHeight());}
  60. 60. ‣void testApp::update() {! //Jpeg! string compressedFilename = "compressed.jpg";! //Jpeg! img.saveImage(compressedFilename, quality);! ofBuffer file = ofBufferFromFile(compressedFilename);! int fileSize = file.size();! //Jepg! char * buffer = file.getBinaryBuffer();! //! int whichByte = (int) ofRandom(fileSize);! //ON bit! int whichBit = ofRandom(8);! // ( ?)! char bitMask = 1 << whichBit;! buffer[whichByte] |= bitMask;! //glitch! ofBufferToFile(compressedFilename, file);! //! img.loadImage(compressedFilename);
  61. 61. ‣! //! float coin = ofRandom(100);! if (coin > 95) {! ! reset();! }}void testApp::draw() {! //glitch! ofSetColor(255);! img.draw(0, 0, ofGetWidth(), ofGetHeight());}void testApp::keyPressed (int key){! reset();}void testApp::mousePressed(int x, int y, int button){! reset();}
  62. 62.
  63. 63. ‣‣‣‣‣

×