Flex
今回やってみたのは以下の二つ。 FlexからRubyへ送信したデータのデータベースへの格納。 Ruby側でデータベース内のデータを取り出しXMLを生成。それをFlexへ送信して表示。 デモ FLEX <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#FC0000, #000000]"> …</mx:application>
エフェクト処理に鉛筆画調処理を追加 こちらからどうぞ ソースは右クリックで 以下の処理を組み合わせることによって実現しています。 色彩強調 エッジ抽出 鮮鋭化 平滑化 色彩強調は以下の部分 ro= ( rr*f1-gg*f2-bb*f2)/FACTOR; go= (-rr*f2+gg*f1-bb*f2)/…
エフェクト処理に輪郭強調を追加 こんな感じ ソースは右クリックで エッジ部分を選択した色で塗りつぶす処理。 まず、エッジを抽出 //エッジ抽出 for(yy = 0;yy < 3; yy++) { for(xx = 0;xx < 3; xx++) { col.color = target_bmpData.getPixel(x+xx-1, y+yy-…
エフェクト処理の中にイラスト調変換を実装 こんな感じ 閾値をいくつか設定して、その値ごとに色を決めて、 色の細かい変化なくしています。 ソース //イラスト調変換 private function illustration_trans(ol:int, gammaint:int):void { if(target_bmpData …
エフェクト処理にモザイク処理を追加 こちらからどうぞ ソースは右クリック モザイク処理の流れは、 一定の範囲内の画素値を同じ値にしていきます。 その値は範囲内の画素値の平均です。 ソース /* msx,msy モザイクの大きさ(画素数で指定)*/ private func…
エフェクト処理に影エンボス処理を追加 こんな感じ ソースは右クリック 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カメラ必須) 結構簡単にカメラが使えるものなんですね。 ソース <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とは? ビットマップデータに畳み込み効果を適用するフィルタです。 このフィルタを使うと今までやってきた単純にマスクパター…
ノイズ除去に周囲の値の平均を追加 こちらからどうぞ ソースは右クリック 今回やっていることは 周囲の画素を見ていき、他と大きく異なる画素値を除いて 平均値を取り、新たな画素値としています。 これによってエッジ部分がぼやけるのを防いでいます。
新たにノイズ除去を追加 こちらからどうぞ ノイズ除去のソース 全体のソースは右クリックでお願いします。 処理の流れはSobelオペレータでエッジを抽出し、 エッジの強さに応じて加重平均平滑化を行う感じ。 なんだか実行してもノイズがあまり除去できない。…
エッジ抽出にゼロ交差法を追加 こちらからどうぞ 全体のソースは右クリックでどうぞ 今回のソース (zero_cross, makeGauss, setMaskValue関数を追加) 多分、今まで実装したエッジ抽出の中で一番精度が高いような気がする。 元 処理後 解説はwikipediaの微分…
エッジ抽出にテンプレートによるエッジ抽出を実装 こちらからどうぞ ソースは右クリックで 今回やっていることは 下から上、右下から左上、右から左、右上から左下、 上から下、左上から右下、左から右、左下から右上 それぞれの方向のエッジを抽出するマス…
エッジ抽出に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を実装 こんな感じ ソースは右クリック 前回のマスクパターン 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 -…
急に色々なAPIを試してみたくなったので簡単なサンプル的なものを作った。 こんな感じ ソース 今回使ったAPIはこちらのサイトのものを使わせていただきました ユーザーローカルWikipedia API - ウィキペディア情報をサイトで利用できるAPI Flexでリクエスト…
画像をぼやけさせる処理を実装。 サンプルはこちら ソースは右クリック マスク処理とは? 対象の画素値だけでなくマスクパターンに基づいて周りの画素値も見て処理をする。 今回実装した平滑化のマスクパターンはこちら 1 1 1 1 1 1 1 1 1 この場合だと対象…
今回は座標(0,0), (255, 255), (x1, y1), (x2, y2)を通る曲線の式を求めて、それを使って色調変換をしています。 こんな感じです。 ソースは右クリック 今回実装したところのソース http://www11.atpages.jp/~matsu4512/flex/Image_Process/srcview/source/P…
引き続き色調変換の画像処理 ヒストグラムの均等化とソラリゼーションを実装 こんな感じ ソースは右クリックでお願いします。 ヒストグラム均等化 ヒストグラムの分布に偏りがある場合、分布が集中している部分を引き延ばす処理。 処理前 処理後 アルゴリズ…
色調変換(sigmoid)を追加 ソースは右クリックで見れます。 まず、シグモイド関数とは という式で表される。 この関数を色調変換に用いると、画像の明暗がハッキリする。 プログラム中では上の式を変形して (f(x):変換後の画素値, x:元の画素値, M:255, a:パ…
過去に作ったAirアプリをダブルクリックでダウンロードできます。 こんな感じ ソース 最初、Flexだけで作ろうかと思ったのですが、ディレクトリ内のファイルの一覧の取得とかが出来ないので、PHPと連携させました。 まず、PHP側 "); while($fl=$d…
今回はヒストグラム伸長処理とガンマ変換を実装しました。 ついでに、JPEG形式での画像の保存もできるようにしておきました。 こんな感じ (ソースは右クリックで表示できます) ヒストグラム伸長処理のソースはHist_ex.as ガンマ変換のソースはGamma_correcti…