LoginSignup
1
1

More than 5 years have passed since last update.

エッジ検出

Posted at

ActionScript 3.0によるエッジ抽出の実装です。
ConvolutionFilterクラスを使います。

ConvolutionFilter クラスを使用すると、マトリックス畳み込みフィルタ効果を適用できます。
畳み込みでは、入力イメージ内のピクセルを、隣接するピクセルと組み合わせて、イメージを作成します。
畳み込みを使用すると、ぼかし、エッジ検出、シャープ、エンボス、ベベルなど、幅広いイメージ効果を実現できます。

sample.as
package
{
  import flash.display.*;
  import flash.events.*;
  import flash.filters.*;
  import flash.media.Camera;
  import flash.media.Video;
  import flash.geom.*;

  public class CameraEx extends Sprite
  {
    private var bitmapData:BitmapData;
    private var bitmap:Bitmap;
    public function CameraEx()
    {
      bitmapData = new BitmapData(stage.stageWidth, stage.stageHeight, false, 0xffffff);
      bitmap = new Bitmap(bitmapData);
      addChild(bitmap);
      var camera:Camera = Camera.getCamera();
      camera.setMode(stage.stageWidth, stage.stageHeight, 10, true);
      if(camera != null) {
        this.addEventListener(Event.ENTER_FRAME, function(e:Event):void
        {
          bitmapData.draw(video);
          var edge:Array = [0, -1, 0, -1, 4, -1, 0, -1, 0];
          var conv:ConvolutionFilter = new ConvolutionFilter(3, 3, edge, 1);
          bitmap.filters = [conv];
        });
        var video:Video = new Video(stage.stageWidth, stage.stageHeight);
        video.attachCamera(camera);
      }
    }
  }
}

スライド.jpg

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1