🎃
Codex でProcessingを触ってみた
Processingのライブラリをちゃんと出せる。(とりあえずメジャーどころぐらいは確認)
先日 Processing を触っていたときに、こんなエラーに出会いました。
No library found for processing.video
Libraries must be installed in a folder named 'libraries' inside the sketchbook folder (see the Preferences window).
The package “processing.video” does not exist. You might be missing a library.
要は 標準で video ライブラリが入っていない というだけの話です。
Contribution Manager から「Video」(Processing Foundation 提供)を追加すれば解決します。
ただ、自分は昔 Processing 4 を触ったとき、このあたりでハマった経験があります。
ライブラリを追加したのに認識されず、結局 Sketchbook の場所と libraries フォルダの構造 が原因でした。
デフォルトだと ~/Documents/Processing/libraries/video のようになっている必要があるので、もし動かない場合は Preferences で Sketchbook の場所を確認するのがおすすめです。
要するに「Processing はメジャーどころのライブラリも最初から含まれていないことがある」→「Contribution Manager でちゃんと入れる」→「配置場所も確認」、この流れを押さえておけば安心です。
タスク分解をしたら、できた。
「Webカメラ映像を“点群(point cloud)っぽく”表示する」を、段階ごとにタスク分解→各段で小さく検証する流れに変えたら、一気に前進しました。結果、CPUベースの光フローでも“動き=擬似深度”として扱えるところまで構築。HUDで密度やスケールを触りながら、その場で見た目と負荷のバランスを詰められるようにしました。
分解したタスク(抜粋)
-
ベースライン確立
Processing 4 + VideoライブラリでWebカメラを安定取得。解像度/FPS、上下反転、カラー→グレイスケールの正規化を確認。 -
擬似深度=光フローの強度で代用
Lucas–Kanade(CPU)でフレーム間の動きをベクトル化。動きの大きさ+画素の明るさに重み付けして疑似Z値を作成。 -
点群レンダラ
画像を等間引きサンプリングして3D頂点化(x, y は画素座標、z は擬似深度)。軌跡の“尾”を軽く残すバッファで残像感を付与。 -
操作系 & デバッグHUD
デバッグパネル、カメラプレビューの重ね表示、オービットカメラ、サンプリング間引き(stride)、深度スケールなどをランタイムでトグル。 -
妥当性検証の習慣化
各段で「見える/見えない」「FPS」「主観的な“奥行き感”」をチェックリスト化。動かない場合の切り分け手順も固定化。
実装ハイライト
- CPU光フローのフォールバック:GPUライブラリ未導入環境でも即動く安全策。
-
擬似深度の合成式:
Z = motionMagnitude * motionDepthScale + brightness * brightnessDepthWeightをHUDで即調整。 -
適応サンプリング:
strideを上げ下げして、密度とFPSを現場最適化。 - HUDメトリクス:平均FPSや描画点数を一定フレームごとにログ出力し、勘所に頼らない調整を支援。
できたもの(今日の成果)
- ライブ3D点群が、動き量をZにした“擬似深度”でうごめく。
- HUDで即席ダイアル調整→現場で“見た目”と“FPS”をそのまま追い込める。
- CPUフォールバックがあるので、どのマシンでも最低限の再現は可能。
結論
・CodexのProcessingでの理解度はそこそこ高い印象
・タスク分解をAIにやらせるという実装はかなり効果的。単発でできないことが明確にできるようになる。
Discussion