画像処理アルゴリズム

C#

画像の拡大

例えば、下図のように2x2画素の画像を4x4の画像に拡大する場合、アフィン変換を使えばいいんでしょ!と、安易に考えていると、思わぬ落とし穴があったりもします。 大事なポイントとして、 ●画像の座標の原点は左上の画素の中心が原点(0.0、0....
画像処理

Canny edge detectionの処理アルゴリズム

Canny edge detectionは画像の輪郭部分を抽出するのに、よく用いられるのですが、詳細なアルゴリズムを理解しないまま使われている事も多いのではないでしょうか?(それ、私) 特に、ヒステリシスしきい値の部分などは、詳細な説明も少...
画像処理

バイラテラルフィルタ

ガウシアンフィルタなどのフィルタでは、ノイズをできるだけ除去しようとすると、輪郭もボケてしまうという欠点がありました。 この欠点を解決しようとした処理アルゴリズムがバイラテラルフィルタ(bilateral filter)です。 バイラテラル...
画像処理

疑似カラー(Pseudo-color)

三次元データやサーモグラフィのようにデータを画像にした場合には、モノクロで表示するよりも、色を付けて表示した方が見やすい場合があります。 モノクロ表示 疑似カラー表示 このグレーの色に疑似的に色を付ける方法を疑似カラー(Pseudo-col...
画像処理

色相、彩度、明度の計算方法

色相(Hue:色合い)、彩度(Saturation:鮮やかさ)、明度(Brightness,Lightness,Intensity,Value:明るさ)については、以前、変換式には色相、彩度、明度ほかのページにまとめたのですが、実は訳も分か...
画像処理

色相、彩度、明度の公式

カラーの画像処理をする時には、これら色相などの知識は必須となります。 Windows標準で付いてくるペイントで、色の作成の表示をすると、雰囲気が分かると思います。 基本的に以下の色相、彩度、明度を用いて色を表すのですが、変換式にいくつかの種...
画像処理

外周画像の処理

平滑化フィルタやメディアンフィルタなどの注目画素の周辺画素を用いた画像フィルタ処理では、画像の外周部分が下図のように画像の外側を参照してしまうため、処理ができなくなります。 この外周部分を処理する方法はいくつかあるのですが、代表的な方法を紹...
画像処理

画像の回転

画像を回転する場合、任意点周りの回転移動でも紹介したように回転行列を使って、例えば、画像の中心周りに画像を回転させると、下図のように回転後の画像が虫食い状態になってしまいます。 → 回転前の画像 回転後の画像 こうならないようにするためには...
画像処理

アフィン変換(平行移動、拡大縮小、回転、スキュー行列)

画像の拡大縮小、回転、平行移動などを行列を使って座標を変換する事をアフィン変換と呼びます。 X,Y座標の二次元データをアフィン変換するには、変換前の座標を(x, y)、変換後の座標を(x',y')とすると回転や拡大縮小用の2行2列の行列と、...
画像処理

円形度

輪郭追跡を行うと周囲長を求めることができますが、この周囲長を用いた代表的な特徴量の円形度を紹介します。 円形度とは円らしさを表す値で値が1となる時、もっとも円に近くなります。 定義は面積(画素数)をS、周囲長をLとすると、 円形度 = 4π...
画像処理

輪郭追跡処理アルゴリズム

二値化された画像において、各連結部分の境界部分を求める事を輪郭追跡といいます。 この輪郭追跡を行う事で周囲長や連結領域の幅や高さなどを求めることが出来ます。 以下、この輪郭追跡の処理アルゴリズムを紹介します。 まず、左上からラスタスキャンを...
画像処理

ラベリング

二値化画像処理された画像において、白の部分(または黒の部分)が連続した画素に同じ番号を割り振る処理を ラベリングと言います。 通常、同じ番号ごとの面積(画素数)や幅、高さなどの特徴量を求めて欠陥検査や分類処理などに用いられます。 ラベリング...
画像処理

細線化

二値化された画像において、線の中心1画素分だけを残すように線を細くする処理を細線化といいます。細線化のアルゴリズムにはHilditch、田村の方法、Zhang Suenなど、いろいろあるのですが、ここでは田村の方法について説明します。 細線...
画像処理

膨張・収縮・オープニング・クロージング

膨張・収縮処理では一般的に二値化された白黒の画像に対して処理が行われ、 注目画素の周辺に1画素でも白い画素があれば白に置き換える処理を膨張(Dilation)、 逆に周辺に1画素でも黒い画素があれば黒に置き換える処理を収縮(Erosion)...
画像処理

アンシャープマスキング(鮮鋭化フィルタ)

アンシャープマスキング【unsharp masking】とは、画像のボヤけた輪郭を強調するフィルタ処理です。 → アンシャープマスキング処理前 アンシャープマスキング処理後 【処理アルゴリズム】 元画像データ ↓ 元画像データの平滑化処理を...
画像処理

エッジ抽出(Sobel,Prewittなど)

下図のように画像の輪郭(エッジ)を抽出する方法を紹介します。 → エッジ抽出前 エッジ抽出後 上図はソーベルフィルタの例です。 微分フィルタ 画像の輝度値に対して、隣り合う画素の輝度差が大きいほど、画像のエッジだと考えることができ、 画像の...
タイトルとURLをコピーしました