前提・実現したいこと
Processingで顔を認識し、
顔の周りに放射線状の虹色の線を描きたいと考えています。
発生している問題
・lineの角度によって色を変化させる(虹色にする)
にはどのようにしたら良いのでしょうか。
ご教授頂けますと幸いです。
### import gab.opencv.*; import processing.video.*; import java.awt.Rectangle; Capture cam; OpenCV opencv; Rectangle[] faces; boolean playing; int x; float angle; void setup(){ size(displayWidth, displayHeight); String[] cameras = Capture.list(); cam = new Capture(this, cameras[0]); cam.start(); } void draw(){ if(cam.available() == true){ cam.read(); image(cam, 0, 0, displayWidth, displayHeight); opencv = new OpenCV(this, cam); opencv.loadCascade(OpenCV.CASCADE_FRONTALFACE); faces = opencv.detect(); } for (int i=0; i<faces.length; i++) { angle +=0.07; //顔のx座標とy座標 float cx = displayWidth-(faces[i].x*2+faces[i].width); float cy = faces[i].width; int a = 7; int b = 7; //角度に合わせて、色を変化させる rotate( radians( angle ) ); stroke( angle, 100, 100 ); strokeWeight(1); line( cx + cos(angle * a) * 50, cy + sin(angle * b) * 50, cx + cos(angle * a) * 150, cy + sin(angle * b) * 150 ); for (int j = 1; j <= 50; j++) { line( cx + cos(j) * 50, cy + sin(j) * 50, cx + cos(j) * 150, cy + sin(j) * 150 ); } } }
現在のディスプレイウインドウです。虹色にする事ができません。
下記の部分が間違っているのでしょうか。
//角度に合わせて、色を変化させる rotate( radians( angle ) ); stroke( angle, 100, 100 ); strokeWeight(1);
環境
Processing3.5.4
Mac OS
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/25 03:14 編集