ActionScript

イラスト調変換

エフェクト処理の中にイラスト調変換を実装 こんな感じ 閾値をいくつか設定して、その値ごとに色を決めて、 色の細かい変化なくしています。 ソース //イラスト調変換 private function illustration_trans(ol:int, gammaint:int):void { if(target_bmpData …

モザイク処理

エフェクト処理にモザイク処理を追加 こちらからどうぞ ソースは右クリック モザイク処理の流れは、 一定の範囲内の画素値を同じ値にしていきます。 その値は範囲内の画素値の平均です。 ソース /* msx,msy モザイクの大きさ(画素数で指定)*/ private func…

Vector3D,Matrix3Dを使ってみる。

とりあえず、立方体を作ってみました。 こんな感じ ついでにもう一つ 結構簡単ですね。 ひとつ注意するところが materials[2].transform.matrix3D.prependRotation(-90, Vector3D.Y_AXIS); このような3Dの回転などをさせる場合、前に一度zプロパティの初期化…

影付きエンボス処理

エフェクト処理に影エンボス処理を追加 こんな感じ ソースは右クリック Sobelフィルターで微分値を取り、それを法線として影を付ける。 ソース //影を付けたエンボス処理 private function shade_embos():void { if(target_bmpData == null) return; bmpData…

波紋効果

エフェクト処理に波紋を追加 こんな感じ ソースは右クリックで 結構、綺麗な効果ができた、でもムズイ 理論的なところは後で理解しよう。。。 ソース private function shade_hamon(ampint:int , wwint:int , refint:int):void { if(target_bmpData == null)…

波模様

エフェクト処理に波状面を追加 こちらからどうぞ ソースは右クリックで 実装はしてみたけどアルゴリズムが難しくてよく分からない・・・ ソース private var lx:Number = -1.0, ly:Number = -1.0, lz:Number = 1.0; private var mil:Number = 130; /*ハイラ…

パーティクル時計

前に作った物の改良版 こんな感じ ソース 数字をクリックすると弾けるよ! 前のよりは綺麗になったかと思います。

回転ブラー

エフェクト処理に回転ブラーを追加 こちら ソースは右クリック 処理後の画像 前回の放射状ブラーのソースに一行追加しただけです。 ブラーをかける角度を求めて、その値に90度を足すというコード追加しました。 //回転ブラー private function rotate_blur(e…

放射状ブラー処理

エフェクト処理の中に放射状ブラー処理を追加 こんな感じ ソースは右クリック 処理後の画像 追加した部分のソース //放射状ブラー // ef: ブラーの強さ private function radial_blur(ef:Number):void{ if(target_bmpData == null) return; bmpData2 = new B…

任意方向へのブラー

エフェクト処理の中に任意方向へのブラーを追加 こんな感じ ソースは右クリックで見れます。 前回のやつを任意の方向効果をかけられるようにした感じです。 追加した部分のソース //任意方向へのブラー private function effect_blur_arb(ef:int, ang:int):v…

Webカメラを使ってみた

Webカメラを使って画像処理してみました。 こんな感じ (Webカメラ必須) 結構簡単にカメラが使えるものなんですね。 ソース <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()" viewSourceURL="srcview/index.html"> <mx:Script> </mx:script></mx:application>

ブラー効果

エフェクト処理にブラー処理を追加 こんな感じ ソースは右クリックでどうぞ ブラー処理は平滑化処理とほとんど同じです。 周りの画素値の平均値をとって新しい画素値とするという処理。 フィルタは 横方向 1 1 1 縦方向 1 1 1 これをconvolutionFilterで処理…

ノイズ除去 メディアン法

ノイズ除去にメディアン法を実装 こちらからどうぞ ソースは右クリックで 考え方は簡単で、 周囲の画素のメディアンをとって新たな画素としています。 点状に存在するノイズに有効です。 以下ソース //メディアン法 private function noise_median():void{ i…

ConvolutionFilter

マスク処理の部分をConvolutionFilterで書き直してみました。すごく軽いです。 こんな感じ ソースは右クリック ConvolutionFilterとは? ビットマップデータに畳み込み効果を適用するフィルタです。 このフィルタを使うと今までやってきた単純にマスクパター…

ノイズ除去 近い画素値の平均を取る

ノイズ除去に周囲の値の平均を追加 こちらからどうぞ ソースは右クリック 今回やっていることは 周囲の画素を見ていき、他と大きく異なる画素値を除いて 平均値を取り、新たな画素値としています。 これによってエッジ部分がぼやけるのを防いでいます。

ノイズ除去 エッジ保存平滑化

新たにノイズ除去を追加 こちらからどうぞ ノイズ除去のソース 全体のソースは右クリックでお願いします。 処理の流れはSobelオペレータでエッジを抽出し、 エッジの強さに応じて加重平均平滑化を行う感じ。 なんだか実行してもノイズがあまり除去できない。…

ゼロ交差法

エッジ抽出にゼロ交差法を追加 こちらからどうぞ 全体のソースは右クリックでどうぞ 今回のソース (zero_cross, makeGauss, setMaskValue関数を追加) 多分、今まで実装したエッジ抽出の中で一番精度が高いような気がする。 元 処理後 解説はwikipediaの微分…

テンプレートによるエッジ抽出

エッジ抽出にテンプレートによるエッジ抽出を実装 こちらからどうぞ ソースは右クリックで 今回やっていることは 下から上、右下から左上、右から左、右上から左下、 上から下、左上から右下、左から右、左下から右上 それぞれの方向のエッジを抽出するマス…

エッジ抽出(Robertsの匂配)

エッジ抽出にRobertsの匂配を追加 こちらからどうぞ ソースは右クリック Robertsの匂配は斜め方向の画素値を見て差分を求めエッジを抽出する方法。 マスクパターンは x方向 0 0 0 0 0 1 0 -1 0 y方向 0 0 0 0 1 0 0 0 -1 斜め方向だけれどもx,y方向の成分は…

エッジ抽出(Sobel, Prewitt)

エッジ抽出にSobelとPrewittを実装 こんな感じ ソースは右クリック 前回のマスクパターン X方向 0 0 0 -1 0 1 0 0 0 Y方向 0 -1 0 0 0 0 0 1 0 だと、隣しか見ていないのでその分ノイズが混じっているとその影響が大きくなります。 それをなるべく小さくする…

エッジ抽出

新たにエッジ抽出の差分によるエッジ抽出を実装 こんな感じ ソースは右クリックで表示 エッジの抽出とは画像中の領域の境界を求める処理。 その境界部分は急激な画素値の変化があることが多いのでそれを利用して求めます。 その画素値の変化はX、Y方向それぞ…

鮮鋭化、エンボス処理

マスク処理の中に鮮鋭化とエンボス処理を追加しました こんな感じ ソースは右クリックでどうぞ。 まず、鮮鋭化とは画像の境界部分を鮮明にする処理。 境界部は色の変化が激しいので、その変化をさらに目立たせるようなマスクパターンを使用します。 0 -5 0 -…

WikipediaAPIを使ってみた。

急に色々なAPIを試してみたくなったので簡単なサンプル的なものを作った。 こんな感じ ソース 今回使ったAPIはこちらのサイトのものを使わせていただきました ユーザーローカルWikipedia API - ウィキペディア情報をサイトで利用できるAPI Flexでリクエスト…

マスク処理

画像をぼやけさせる処理を実装。 サンプルはこちら ソースは右クリック マスク処理とは? 対象の画素値だけでなくマスクパターンに基づいて周りの画素値も見て処理をする。 今回実装した平滑化のマスクパターンはこちら 1 1 1 1 1 1 1 1 1 この場合だと対象…

簡単な写真のviewer2

前回のものを改造 入れ替わる時でも滑らかに動くように直しました。 こんな感じ ソース Planeを生成したDisplayObject3Dに全て乗せてしまって、それ自体を回転させて動かしています。 これならそれぞれのPlaneの座標は変わることなく動き続けるので、プログ…

写真の簡単なviewer

簡単な写真のviewerです。 こんな感じ ソース 解説 Planeに写真を貼る // Planeを作成 var mat:BitmapMaterial=new BitmapFileMaterial("./imgs/img"+i+".jpg"); mat.doubleSided =true; var p:Plane=new Plane(mat, 200, 200); まず、BitmapMaterialで画像…

多項式による色調変換処理

今回は座標(0,0), (255, 255), (x1, y1), (x2, y2)を通る曲線の式を求めて、それを使って色調変換をしています。 こんな感じです。 ソースは右クリック 今回実装したところのソース http://www11.atpages.jp/~matsu4512/flex/Image_Process/srcview/source/P…

Free Cameraを使ってみた。

フリーカメラで3D空間を移動 こんな感じ ソース 解説 今回使った、x,y,z方向にそれぞれとれだけ進むかを計算する式 bv.camera.x += Math.sin(bv.camera.rotationY/180 * Math.PI)*5; bv.camera.y -= Math.sin(bv.camera.rotationX/180*Math.PI)*5; bv.came…

均等化、ソラリゼーション

引き続き色調変換の画像処理 ヒストグラムの均等化とソラリゼーションを実装 こんな感じ ソースは右クリックでお願いします。 ヒストグラム均等化 ヒストグラムの分布に偏りがある場合、分布が集中している部分を引き延ばす処理。 処理前 処理後 アルゴリズ…

DisplacementMapFilterを試してみた

パーリンノイズと組み合わせて、ゆらゆらする効果を出してみました こんな感じ ソース 参考 このサイトで色々と動作が確認できます。 DisplacementMapFilterの動作を理解する - プログラミングとかそんなの 分かりやすい例が載っています。 [ActionScript 3.…