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