Skip to content

Make Processing

조회 수 22 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

안녕하세요 PGraphics 관련 질문 드립니다. 원하는 색상값만을 비디오에서 추출하여 PGraphics 로 layer 생성 후 비디오 배경 없이 저장할려고 하는데 

문제는 원하는 값을 추출은 잘하는데 PGraphics 가 layer 개념이라 그런지, 코드를 잘못이해해서 그런지 원하는 색상값만 실시간으로 잡는것이 아닌 비디오 시작부터 끝까지 색상값을 계속 그려버리는(?) 문제가 생기고 있습니다. 

(글을 잘 못써서..예를 들어 캠으로 받아들인 비디오에 빨간색 펜뚜껑이 있으면 실시간으로 빨간색 펜뚜껑 부분만 tracking 해야 하는데 PGraphics 를 쓰면 빨간펜뚜껑이 움직이며 지나간 흔적을 그려버리고 있는 문제가 있습니다 ㅠㅠ) 


밑에 코드는 제가 코딩한 것인데 아마 for문에서? 뭔가 고쳐야 할거 같은데 어떤 부분을 고치거나 다른 reference 를 참고해야할까요 ? 


답변 주시면 정말 감사하겠습니다!!



    

    import processing.video.*;

    

    Capture video;

    

    color trackColor= color(145,43,54);

    float threshold = 25;

    PGraphics topLayer;

    

    float r2;

    float g2;

    float b2;

    

    float distSq(float x1, float y1, float z1, float x2, float y2, float z2) {

      float d = (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) +(z2-z1)*(z2-z1);

      return d;

    }

    

    void setup() {

      size(640, 360);

      String[] cameras = Capture.list();

      printArray(cameras);

      video = new Capture(this, cameras[3]);

      video.start();

      trackColor = color(145,43,54);

      topLayer = createGraphics(width, height, g.getClass().getName());

    }

    

    void captureEvent(Capture video) {

      video.read();

    }

    

    void draw() {

    

      video.loadPixels();

      image(video, 0, 0);

    

      //threshold = map(mouseX, 0, width, 0, 100);

      threshold = 50;

      float thresholdSquare = threshold * threshold;

      

      

      // Begin loop to walk through every pixel

      for (int x = 0; x < video.width; x++ ) {

        for (int y = 0; y < video.height; y++ ) {

          int loc = x + y * video.width;

          // What is current color

          color currentColor = video.pixels[loc];

          float r1 = (currentColor>>16)&0xFF;

          float g1 = (currentColor>>7) & 0xFF ;

          float b1 = (currentColor) & 0xFF;

          r2 = (trackColor>>16)&0xFF;

          g2 = (trackColor>>7) & 0xFF;

          b2 = (trackColor) & 0xFF;

          float d = distSq(r1, g1, b1, r2, g2, b2); 

          if (d < thresholdSquare) {

            //worldRecord = d;

            topLayer.beginDraw();

            topLayer.stroke(trackColor);

            topLayer.noStroke();

            topLayer.fill(trackColor);

            topLayer.ellipse(x, y,1,1);        

         ////////////////////////////////////////

            topLayer.endDraw();

            image(topLayer, 0, 0);

       }

      }

     } 

        if(mousePressed){

          topLayer.save("example.jpg");

        }

    }

  • profile
    smileblue 2018.04.15 09:18

    if (d < thresholdSquare) {

                //worldRecord = d;

                topLayer.beginDraw();

                topLayer.stroke(trackColor);

          topLayer.background(0,0);

                topLayer.noStroke();

                topLayer.fill(trackColor);

                topLayer.ellipse(x, y,1,1);        

             ////////////////////////////////////////

                topLayer.endDraw();

                image(topLayer, 0, 0);

           }


    아마 이렇게 하면 투명이면서 이전 프레임의 영상은 나오지 않게 저장 될것 같은데요..


Q&A

질문하는 공간입니다. 회원이면 누구나 질문/답변 할 수 있습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
20 프로세싱 게임만들 때 공 대신에 저희가 원하는 캐릭터 객체로 변경이 가능한가요? 4 이치 2017.08.07 367
19 프로세싱에서 문자출력관련해서 질문있습니다. 쮸쀼 2017.08.29 243
18 프로세싱으로 애니메이션을 구현해야 하는데요.. 고단비 2017.09.09 346
17 센서에대해 질문이 있습니다. Riemeo 2017.09.29 240
16 아두이노 버튼으로 프로세싱 영상 재생하기 yule 2017.11.22 219
15 변수의 최상위 비트 변경 공대쟁이야 2017.11.22 180
14 libraries의 소리파일 3 오성혁 2018.02.23 119
13 비디오 재생하다가 키값 설정하여 다른 비디오 재생 2018.03.01 124
12 입력하기 1 오성혁 2018.03.03 157
11 신발같이 작은 오브젝트를 프로젝션 맵핑할 때 빔 프로젝터 고민. 이상권 2018.03.06 155
10 도형에 빛효과 1 상히공주 2018.04.03 41
9 for loop의 회전에 관해 질문 드립니다! 1 호오오안 2018.04.05 49
8 프로세싱 class 에러 1 hemel 2018.04.06 32
7 WASD로 시점을 움직이는 것에 대해 질문이 있습니다. Sinon 2018.04.08 57
» PGraphics 관련 질문드립니다! 1 jamessss 2018.04.12 22
5 How to get trivial muscle mass carcass uvylyhife 2018.04.22 10
4 Buy Your Home By Simply Following These Tips aqydu 2018.04.23 10
3 googleImageloader 라이브러리 질문드립니다! jamessss 2018.04.24 5
2 The Way To Get Inexpensive Rates On Car Insurance axuvomyqi 2018.04.26 1
1 The way to get grown-up muscles available as one 30 days new awusahycu 2018.04.27 0
Board Pagination ‹ Prev 1 ... 6 7 8 9 10 11 12 13 14 15 Next ›
/ 15

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Copyright (c) 2012 Make Processing. All Right Reserved.

smileblue

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소