久しぶりにprocessingを使うと3.0になっていて、IDEにデバッガーが付いたりいろいろ嬉しいことですが、サンプルを動かすと以下のようなエラーが出ることがあります。
sizeの引数は読み込んだ画像やWebカメラサイズに合わせて設定することがあると思いますが、変数で動的に決定するのはダメよと言われているわけです。
ぐぐってみると確かにそういう対処をした人も。
http://wshinya.hatenablog.com/entry/2015/10/05/142750
でも、いちいち数字に直すのは面倒だし、プログラムによっては大幅な書き換えが必要な場合があります。
そんなときにはsettingsメソッドを使うといいようです。setupメソッドを呼ぶ前にsettingsを実行するようで、ここであれば変数でsizeを設定しても怒られません。
以下、OpenCVのサンプル(DepthFromStereo)を書き換えた例です。
- Before
OpenCV ocvL, ocvR; PImage imgL, imgR, depth1, depth2; void setup() { imgL = loadImage("scene_l.jpg"); imgR = loadImage("scene_r.jpg"); ocvL = new OpenCV(this, imgL); ocvR = new OpenCV(this, imgR); size(ocvL.width * 2, ocvL.height*2); ocvL.gray(); ocvR.gray(); Mat left = ocvL.getGray(); Mat right = ocvR.getGray();
- After
OpenCV ocvL, ocvR; PImage imgL, imgR, depth1, depth2; void settings() { imgL = loadImage("scene_l.jpg"); imgR = loadImage("scene_r.jpg"); ocvL = new OpenCV(this, imgL); ocvR = new OpenCV(this, imgR); size(ocvL.width * 2, ocvL.height*2); } void setup() { ocvL.gray(); ocvR.gray(); Mat left = ocvL.getGray(); Mat right = ocvR.getGray();
漢字も出たり出なかったり。。。サンプルも動かなかったり。結構、卒業研究とかでやられている人いるんじゃないでしょうかね ^^;;;
まぁ、進歩のためには仕方がありません。直して貢献しましょう。