言語処理100本ノック - 東北大学 乾・岡研究&note{original:[[言語処理100本ノック - 東北大学 乾・岡研究室>http://www.cl.ecei.tohoku.ac.jp/index.php?%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86100%E6%9C%AC%E3%83%8E%E3%83%83%E3%82%AF]]}; を参考に書いてみる

*画像処理100本ノックについて [#w7bfaa98]
-基本的には東北大学 乾・岡研究室様&note{original-top:[[東北大学 乾・岡研究室>http://www.cl.ecei.tohoku.ac.jp/index.php?FrontPage]]};の言語処理100本ノックを原案に画像処理の例題を100本集めてみます
-未完成
-勝手に追記してくれても構いません
-画像処理をするにあたって,基本的な処理を1度はスクラッチから書いてみると言う経験のための100本ノックです.
-OpenCV使えば関数1個で終わったりしますが,上記の理由より,スクラッチから書くことを考えています.
--ロード,セーブ,画面表示は画像処理と無関係なのでOpenCVを使っても可.
-処理を数式で知ってるのと,実装してみるのは全然違う,と言うことを知るための例題集です.
-コンピュータビジョン100本ノックも考えてるので,線引きが難しいところですが,画像処理とコンピュータビジョンは分ける方針で.
-テスト(プログラムの正否)をどうやって作成(判定)するかが未定.どうしたものか.

*色変換 [#ga8ac1db]
-RGBカラー画像をグレースケール画像に変換する.単純にRGBそれぞれの平均で良い
-RGBカラー画像をグレースケール画像に変換する.その際,RGBそれぞれの重み付き係数を考慮する
-RGBカラー画像をHIS画像に変換する.
-RGBカラー画像を色成分ごとに分離した3枚の画像を作成する

*しきい値処理 [#m9862420]
-手動で与えたしきい値による2値化処理
-手動で与えたしきい値によるPタイル法の2値化処理
-モード法による2値化処理
-大津の手法(判別分析法)による2値化処理

*描画&note{ChaoticActivityTwitterDraw:[[Twitter / @ChaoticActivity>https://twitter.com/#!/ChaoticActivity/status/192538854723555328]] さんによる提案}; [#s649d78f]
-任意の直線の描画
-任意の楕円の描画
-任意の直線の描画
-上記3種類それぞれのアンチエイリアシング

*幾何変換 [#w1663a9d]
-任意の倍率による拡大/縮小処理(画像原点基準)
-任意の倍率による拡大/縮小処理(画像中心基準)
-任意の倍率による拡大/縮小処理(任意座標基準)
-上下反転処理
-左右反転処理
-任意の角度の回転処理(画像中心基準)
-任意の角度の回転処理(任意座標基準)

*線検出&note{dandelion1124Twitter:[[Twitter / @dandelion1124>https://twitter.com/#!/dandelion1124/statuses/192646447227863040]] さんによる提案}; [#t85474a1]
-Hough変換による直線抽出
-エッジ検出

*テンプレートマッチング [#mf6ea7ed]
-ブロックマッチングによるテンプレートマッチング&note{dandelion1124Twitter};
-積分画像を利用したテンプレートマッチング

*補間処理 [#td4dae22]
-リニア(線型)補間による拡大/縮小処理
-最近傍補間による拡大/縮小処理

*連結成分抽出(ラベリング) [#p73dad46]
-4近傍を隣接画素としたラベリング処理
-8近傍を隣接画素としたラベリング処理

*空間フィルタリング [#fef2a1c0]
-3x3のラプラシアンフィルタを画像にかける
-3x3のPrewittフィルタで縦エッジ,横エッジ,それぞれ抽出する
-3x3のSobelフィルタで縦エッジ,横エッジ,それぞれ抽出する
-3x3の先鋭化フィルタを画像にかける
-3x3の平滑化フィルタを画像にかける
-任意のサイズの平滑化フィルタを画像にかける

*2枚以上の画像を使った処理 [#r81f13ab]
**マスキング [#q935aee4]
-カラー画像とマスク画像を用意し,マスク画像の値が0で無いところだけ表示する.いわゆる論理積の処理

**差分処理 [#n9cba858]
-2枚の画像の差分を取る.この時,差分の符号は考慮せず,絶対値を取る
-背景画像と対象物体が写った画像をそれぞれ用意し,差分画像を生成する.~
差分をしきい値処理し,差分の大きかった所だけ,対象物体が写った画像の画素を表示する.

*動画像処理 [#n41dc265]
-インタレースされたフレームの,奇数行目と偶数行目を分ける.元画像より高さが半分の2枚の画像を作成せよ.

*ヒストグラム均等化 [#q2b2323f]
-適当な画像のヒストグラムを作成する
-適当な画像のヒストグラムを均等化して,画像のコントラストをあげる(画素数チェックなし)
-適当な画像のヒストグラムを均等化して,画像のコントラストを上げる.この時,本当に各レベルのピクセル数が等しくなってるかチェックする
-上記のヒストグラム均等化の際に,明度値が変わる画素を画像全体に散らばすためにランダムに画素を選択する
-上記のヒストグラム均等化の際に,明度値が変わる画素を画像全体に散らばすために渦巻状に画素を選択する

*メモリ配列 [#h2712aa4]
-幅101ピクセルの画像を縦横2倍ずつに拡大してbmpファイルとして保存する.元の画像と比べて画像の並びが変化していないか確認する
-適当なサイズの画像の内,任意の位置から29x31ピクセルサイズの矩形領域だけを切り出し,新しい画像を作成する

*フーリエ変換 [#i9b177c2]
-グレースケール画像を離散コサイン変換してスペクトラム画像を作成する
-グレースケール画像を離散フーリエ変換してスペクトラム画像を作成する
-グレースケール画像を高速フーリエ変換してスペクトラム画像を作成する
-

[[:未完成]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS