画像処理と音声処理プログラミング
Windowsのフレームバッファ「デバイス独立ビットマップ(DIB)」による画像処理とWave音源による音声信号処理の実験室です。
グラフィック処理
Windowsのフレームバッファ(DIB)機能を利用して、画像処理で遊んでみましょう。単純な計算で色成分を変えてやることで、画像が文字通り「見違える」のは、なかなか楽しいものです。
画像処理プログラムは、大きめの画面で実行した方が「画像処理の効果」を確認しやすくなります。
サンプルソースは、C言語とWin32APIの組み合わせで記述していますが、HTML5(JavaScriptとCanvas要素)などでも同様の考え方で画像処理を行うことができます。
- モノクロ(単一色)階調表現への変換(1999/10/ 6)
- モザイクをかけてみる(1999/10/ 6)
- カラーテーブルで色を変える(1999/10/ 6)
- 抜き色による透過イメージ(スプライト)(1999/10/ 6)
- パレットによる半透明処理(1999/10/ 6)
- フェードイン・フェードアウト(1999/10/ 6)
- カラーテーブル変更とフレームレート(1999/10/ 6)
- ぼかし処理(1999/10/ 6)
- 滲み処理(1999/10/ 6)
- 淡色化処理(1999/10/ 6)
- ビットマップの縮小処理(1999/10/ 6)
- DIBのアニメーション表示(1999/10/ 6)
- ビットマップの回転処理(1999/10/ 6)
- ビットマップの単純な拡大・縮小(1999/10/ 6)
- レーザー照射(1999/10/ 6)
- ビットマップの色数計算(1999/10/ 6)
- 色数計算の高速化(1999/10/ 6)
- ビットマップの合成(1999/10/ 6)
- ビットマップの拡大・縮小関数(1999/10/ 6)
- コントラストを上げる(1999/10/ 6)
- RGB成分の置換(1999/10/19)
- 256色カラーテーブルへの減色(1999/11/ 4)
- 動画ファイルの作成と再生(1999/10/ 6)
- 専用スレッドでの動画再生(1999/11/29)
- RGBとYCrCbの変換(明度と色差)(2001/ 1/25)
- YCrCbの調整(2000/ 2/ 7)
- カスタムフィルタで遊ぶ(2000/ 3/ 5)
- 汎用的な拡大縮小1-横方向の縮小(2000/ 6/14)
- 汎用的な拡大縮小2-平均化による拡大縮小(2000/ 6/15)
- 色の出現度数を調べる(2000/ 8/30)
- RGB3原色の配置(2000/10/10)
- 色情報の省略による画像圧縮(2001/ 3/ 4)
- 周辺ピクセルとの成分差と輪郭(2000/11/17)
- 明度変換によるコントラスト調整(2000/12/13)
- アンシャープマスクの差分(2000/12/16)
- 8ビットBMPの読み込み(2001/ 3/ 4)
- ポスタリゼーション(階調変更)(2001/11/24)
- アンチエイリアシング(2002/ 4/ 4)
- 色成分差の拡大(2003/ 5/ 6)
- RGB各10ビットの32ビットDIB(2003/ 8/ 2)
- メディアンフィルタによるノイズ除去(2007/11/23)
- 画像合成によるHDR(ハイダイナミックレンジ)合成(2010/ 5/11)
- ColorRGBToHLS-HSL色空間の利用(2005/ 3/29)
- DelphiによるDIB操作(1999/10/ 6)
- VCLによるJpeg読み込みDLL(2000/11/24)
画像処理のサンプルプログラムは、基本的に24ビットBMPファイルの読み込みを想定しています。実験用のBMPファイルは、32ビットではなく24ビット(RGB各8ビット)で出力してください。
音声処理
今度は、PCM音源のメモリイメージ(Waveデータ)で遊んでみます。
実行前に、サウンドのボリュームや設定を確認しておきましょう。
- Wave音源で音を鳴らす(2001/ 5/ 4)
- バッファ切り替えによる音階演奏(2001/ 5/31)
- 加算による和音作成(2001/ 6/21)
- Wave音源の録音(2001/ 9/11)
- エコーと波形表示(2002/12/30)
音声処理プログラムの実験には、サウンドデバイスが必要です。データによっては最大音量で音声出力が行われる場合もあるのでご注意ください。