ます’s Blog - どうでもいい記事100選

どうでもいい記事100選

Android

ミニチュア模型風(続き)

先日の件ですが。 ある方からミニチュア模型風は彩度と明度を少し上げれば良いとアドバイスを貰ったので確認してみました。 前回は彩度は上げていたけど明度は下げていたので全体的に暗かったのですが、今回は彩度と明度を上げているので全体的に明るいです…

ミニチュア模型風

あくまでも「風」ですが。_| ̄|○ 画像の雰囲気に依存する部分もありますが、ぼかしを入れてコントラストを強めに調整する事でミニチュア模型風になるようです。もうちょっとコントラストを調整してもよい気もするけど。。。 斜め上からっていうよりかは遠目…

Android NDK(JNI - Java Native Interface)による処理の高速化

Android NDK(JNI - Java Native Interface)による処理の高速化に挑戦。 ここではモザイク処理と魚眼レンズ風処理を対象に画像を加工。 まずは新規プロジェクトを作成します。 プロジェクト名 :「exampleAndroidNDK」と入力 ビルド・ターゲット:「Android…

近似色探索

近似色を探して似ている色であれば色を残して、似ていなければ色を白に設定しています。 閾値を低く設定すれば判定が厳しくなり、閾値を高く設定すれば判定が緩くなります。 private Bitmap searchApproximationColor( Bitmap bitmap, int approximationNumb…

エッジ検出(鮮鋭化)

基本的にエッジ検出(単体パターン)処理ですが、ぼやけていたような輪郭が強調されて鮮明になります。 検出された輪郭を分かりやすくする為に、事前にグレースケール処理を行ってから処理しています。 private Bitmap edgeDetectionSharpening( Bitmap bitm…

エッジ検出(エンボス)

基本的にエッジ検出(単体パターン)処理ですが、RGB値を求めるときに、それぞれ128を足しています。 エンボスとは凸凹感を出して浮き彫りのような効果を出すことらしい。 検出された輪郭を分かりやすくする為に、事前にグレースケール処理を行ってから処理…

エッジ検出(複数パターン)

基本的にエッジ検出(単体パターン)処理ですが、パターンを複数適用しています。 これにより、より鮮明に輪郭部分を検出することができるらしい。 検出された輪郭を分かりやすくする為に、事前にグレースケール処理を行ってから処理しています。 private Bi…

エッジ検出(単体パターン)

エッジ。。。輪郭を検出する処理です。検出方向によって検出結果が変わるらしい。ここでは12パターンくらい用意して確認。 検出された輪郭を分かりやすくする為に、事前にグレースケール処理を行ってから処理しています。 private Bitmap edgeDetectionPat…

ブレンドモード

まとめて公開。。。これでネタ切れ。_| ̄|○ // ブレンドモード(加算) private Bitmap effectBlendAdd( Bitmap bitmap ){ if( bitmap == null ){ bitmap = BitmapFactory.decodeResource( getResources( ), R.drawable.original ).copy( Bitmap.Config.ARG…

ポラロイド

といっても単に画像を重ねたダケです。 // ポラロイド private Bitmap effectPolaroid( Bitmap bitmap, boolean flg ){ if( bitmap == null ){ bitmap = BitmapFactory.decodeResource( getResources( ), R.drawable.original ).copy( Bitmap.Config.ARGB_88…

魚眼レンズ風

まさか自分でもできるとは思わなかった魚眼レンズちっくに画像を加工。 private Bitmap effectFisheye( Bitmap bitmap ){ if( bitmap == null ){ bitmap = BitmapFactory.decodeResource( getResources( ), R.drawable.original ).copy( Bitmap.Config.ARGB_…

ディザリング(ベイヤー・渦巻・網点)

基本的には二値化処理ですが、こちらは乱数を使わずに一定のパターンに応じて処理を行います。 private Bitmap effectPatternDither( Bitmap bitmap, int patternFlg ){ if( bitmap == null ){ bitmap = BitmapFactory.decodeResource( getResources( ), R.d…

ディザリング(ランダム)

基本的には二値化処理ですが、乱数を使って条件分岐の数値を変化させています。 private Bitmap effectRandomDither( Bitmap bitmap ){ if( bitmap == null ){ bitmap = BitmapFactory.decodeResource( getResources( ), R.drawable.original ).copy( Bitmap…

グレースケール

画像を白から黒までの明暗だけで表現するのがグレースケール。。。らしい。 private Bitmap efectGrayscale( Bitmap bitmap ){ if( bitmap == null ){ bitmap = BitmapFactory.decodeResource( getResources( ), R.drawable.original ).copy( Bitmap.Config.…

セピア調

懐かしい雰囲気で有名?なセピア調に画像を加工。 本来であればR値はそのまま使うらしいけど、ちょっと赤っぽくなってしまうので少しR値を落としています。 private Bitmap effectSepiaTone( Bitmap bitmap ){ if( bitmap == null ){ bitmap = BitmapFactory…

ネガ

ネガというのは明るさを反転することらしい。 private Bitmap effectNegative( Bitmap bitmap ){ if( bitmap == null ){ bitmap = BitmapFactory.decodeResource( getResources( ), R.drawable.original ).copy( Bitmap.Config.ARGB_8888, true ); } if( bit…

ポスタリゼーション

使う色を限定する(階調数を落とす)という事らしい。 private Bitmap effectPosterization( Bitmap bitmap ){ if( bitmap == null ){ bitmap = BitmapFactory.decodeResource( getResources( ), R.drawable.original ).copy( Bitmap.Config.ARGB_8888, true…

モザイク(ブロック)

基本的にはモザイク処理ですが、モザイク範囲の左上部分の明度を少し高くしてモザイク範囲の右下部分の明度を少し低くする事でブロック(縦横サイズを違うものにすればレンガ)調みたいな画像に加工できます。。。コードが長くてスミマセン。手抜きです。_|…

モザイク(陰影)

基本的にはモザイク処理ですが、モザイク範囲の端部分に線を引いてデコボコ感やタイル感を強調しています。 private Bitmap effectPixelizationShadow( Bitmap bitmap, int margin ){ if( bitmap == null ){ bitmap = BitmapFactory.decodeResource( getReso…

モザイク

モザイク処理。なんだかドキドキします。 こでは全体を処理しているけど、対象がピックアップできたら該当部分だけモザイク処理をする事もできそう(目だけモザイクが入るとか)。 private Bitmap effectPixelization( Bitmap bitmap ){ if( bitmap == null …

すりガラス

すりガラス越しに見ているような画像に加工。 private Bitmap effectDiffuse( Bitmap bitmap ){ if( bitmap == null ){ bitmap = BitmapFactory.decodeResource( getResources( ), R.drawable.original ).copy( Bitmap.Config.ARGB_8888, true ); } if( bitm…

モーションブラー

動きながら撮影しているような画像に加工する事らしい。 ここでは全体を処理しているけど、対象がピックアップできたら該当部分だけモーションブラー処理をする事もできそう(超高速移動とか)。 private Bitmap effectMotionBlur( Bitmap bitmap ){ if( bit…

ぼかし

トイカメラ風の画像を加工する工程の中で既に出てきていますが(サンプル画像はコントラスト等を調整しているので)ぼかし処理だけを入れた場合の画像。 private Bitmap effectShadeing( Bitmap bitmap, int range ){ if( bitmap == null ){ bitmap = Bitmap…

ノイズ除去

縦横斜め前後の情報を取得。で、ソートした後に真ん中の値を採用。。。という事らしい。 private Bitmap effectMedianFilter( Bitmap bitmap ){ if( bitmap == null ){ bitmap = BitmapFactory.decodeResource( getResources( ), R.drawable.original ).copy…

二値化

Xに代入している値は0や255になっていますが、条件分岐のところで表現したいrr・gg・bb値を代入する事で様々な色に変更できます。 private Bitmap effectBinarization( Bitmap bitmap ){ if( bitmap == null ){ bitmap = BitmapFactory.decodeResource( getR…

トイカメラ風

あくまでも「風」です。_| ̄|○ 軽く調べてみた感じでは明るさを落としてコントラストを強めに調整。でもってボカシを入れて四隅を黒くする。。。で合ってるのかな? // トイカメラ風 private Bitmap effectToyCamera( Bitmap bitmap ){ if( bitmap == null …

2枚の画像から差分を抽出

こちらのページでImageMagickのコマンドラインツールを使って2枚の画像から差分を抽出する方法が紹介されていたけど、こういう事?すげー安直な気もするけど。。。 // 比較する画像はお互いの縦横サイズが同一である画像を前提 private Bitmap getDifferenc…