ActiveImageCanvasV3   [w]

OpenCV機能を省いたActiveImageCanvasV2はこちら


物体検出(顔認識) 差分検出(動体検出)
-------------------------------------------------------------------------------- -- ActiveImageCanvasV3 Extension 20240814 -------------------------------------------------------------------------------- 動作までの配置 CF25\Extensions\Unicode\ActiveImageCanvas.mfx CF25\Data\Runtime\Unicode\ActiveImageCanvas.mfx ※opcvdll DLLの配置 CF25\Extensions\Unicode\opcvdll CF25\Data\Runtime\Unicode\opcvdll ビルド時にopcvdllは組み込まれますが、見ての通り容量は大きいです -------------------------------------------------------------------------------- ■仕様など アクティブで表示されている画像をコピペな感じで表示&消し込みができるエクステンションです □制限について 32bitカラーのみ対応 ※基本的な使い方は動作サンプルを見て頂ければ大体わかるかと思います。 ---------------------------- ■V3について(V2バージョンとの差異) V3ではOpenCV(4.1)による画像処理機能が拡張されました。 V2バージョンまでの機能は引き続き使用可能ですが拡張された機能を使用する場合にはOpenCVのDLL配置が必要です。 ※V3による機能を使わない場合はV2のままで問題ありません ■他のプラットフォーム(Runtime)についてなど ActiveImageCanvasは以前と同様のバージョンで作られている為、混在する事はできません。 -------------------------------------------------------------------------------- ■Action InitSize 指定したサイズでキャンバスを生成します SetHotSpot ホットスポットを設定します SetScale スケールを設定します SetAngle 角度を設定します Clear キャンバスをクリアします(透明) Paste 指定したアクティブオブジェクトの固定値に表示されている、アクティブの画像を貼り付けます Erase 指定したアクティブオブジェクトの固定値に表示されている、アクティブの画像を元に消し込みます CollisionReset 現在表示されているCanvasの画像を元に、当たり判定を生成します Loop_CheckMask 指定したアクティブオブジェクトの固定値に表示されている、アクティブの画像と 現在表示されているCanvasの画像で、重なっているドット部分に対して検出の高速ループを実行します SaveImage 現在の状態を画像ファイルに保存します LoadImage 画像ファイルからロードします ------ LoadCascadeClassifier OpenCVのカスケード分類器の設定ファイルを指定します DetectMultiScale LoadCascadeClassifierより設定したカスケード分類器に基づき現在のCanvasから分類結果を算出します。 算出結果はConditionsのOpenCV_DetectMultiScaleが呼び出され ExpressionsのgetOpenCVdetectより値を取得します scaleFactor : 画像スケールにおける縮小量。detectMultiScaleでは画像のスケールを何度も変化させて探索するため、その際の縮小量を設定する。大きいほど誤検知が多く、小さいほど未検出となってしまう率が高くなる minNeighbors: 信頼性のパラメータ。検出器が検出する箇所が重複するので、より重複が多い部分が信頼性が高いこととなり、その閾値を設定します。値が大きくなるにつれて信頼性が上がるが、顔を見逃してしまう率も高くなる。 minSize : 物体が取り得る最小サイズ。これよりも小さい物体は無視される。 AccumulateDiff 前回呼び出されたAccumulateDiffとの、画像変化差分を検出します(動体検出) 検出箇所はOpenCV_AccumulateDiffが呼び出されます (内部設定上、小さい変化量は無視しています) drawCircle OpenCVを使った円を描画します drawRectangle OpenCVを使った矩形を描画します drawLine OpenCVを使ったLineを描画します -------------------------------------------------------------------------------- ■Conditions Loop_CheckMask 当たり判定の高速ループ実行中に何度も呼び出されます 1ループあたりで取得できる情報はExpressionsで取得することができます OpenCV_DetectMultiScale DetectMultiScaleによる結果に対して呼び出されます。 getOpenCVdetectより結果を取得します OpenCV_AccumulateDiff AccumulateDiffによる結果に対して呼び出されます getOpenCVaccumulateDiffより結果を取得します -------------------------------------------------------------------------------- ■Expressions getColor 指定座標の色情報を取得します getAlpha 指定座標のアルファ値を取得します getX_Loop_CheckMask getY_Loop_CheckMask getColor_Loop_CheckMask getAlpha_Loop_CheckMask ループチェック実行時に取得できるドットの情報が得られます ------ getOpenCVdetect 結果の矩形範囲を取得します getOpenCVaccumulateDiff 結果の矩形範囲を取得します -------------------------------------------------------------------------------- □変更点 20240814 OpenCV(4.1)を組み込み、各種検出機能が導入されました 20240812 ActiveImageCanvasからActiveImageCanvasへPasteする場合において、LoadImage後に即Pasteした場合についての対応 20240515 グレーアウト再調整 20240512 アクティブオブジェクト即時切替時にホットスポットの反映がされなかった点を修正(20240208バグ) 20240510 DirectX11の乗算済みアルファが有効時の挙動についての調整 回転時の中心軸がズレてしまっていた点の修正(2世代前より混入) 20240403 Ldtk Extensionにも対応 20240208 アクティブオブジェクトのアニメーションを切り替えた直後、同一のフレーム内の場合において 新しいアニメーションのホットスポットが参照されていなかった不備の修正 20231211 TextSpriteにも対応 20231126 DxLibにも対応 20231106 サーフェスロスト時の不具合の修正(windowサイズ変更時) 20231102 ・windows版を拡縮回転エフェクトに対応 ・他のエクステンションとの連動にも対応 20231017 windows版にアルファチャンネル付きアクティブオブジェクト及び透過エフェクトに対応 20230917 iPhoneRuntimeの対応 ただしファイン判定はCFエンジン側に実装処理がされていない為動作しません CRun.m -(CArrayList*)objectAllCol_IXY:(CObject*)pHo withImage:(short) newImg andAngle:(float)newAngle andScaleX:(float)newScaleX andScaleY:(float)newScaleY andX:(int)newX andY:(int)newY andColList:(short*)pOiColList ここに、Extensionのマスク当たり判定に対する処理が入っていない(いずれ対応されるとは思いますが) 20230909 AndroidRuntimeの対応 20211209 スクロールへの対応 Paste時、対象アクティブに指定されているRGBカラーへの対応 (自前ソフトウェア演算なので高速ではありませんが実用レベルにはあるかとは思います) イメージフィルタ―自動認識の対応 20211002 初版 -------------------------------------------------------------------------------- ■あとがき V2から一気に生まれ変わりました。 それなりの画像編集ソフトも作り出せるかもしれませんね。 V3から不思議なことができるようになりました。 DOWNLOAD