OpenCVSharp4で位相画像の作成
位相画像とは
位相限定相関法(Phase Only Correlation)などで使用される画像。フーリエ変換した画像の位相だけを取り出した画像のこと。
とすると定義より画像の明るさを何倍しても位相画像は変わらない。
方法
※事前に
NuGetでOpenCVSharp4とOpenCVSharp4.runtime.winをインストールしておく
結果
入力画像
出力画像
参考
https://rest-term.com/archives/1375/
https://www.jstage.jst.go.jp/article/itej1997/54/10/54_10_1408/_pdf
http://www.aoki.ecei.tohoku.ac.jp/~ito/vol1_030.pdf
OpenCVSharp4のエッジ強調(一次微分、Prewitt、Sobel、Laplacian、canny etc...)
OpenCVSharp4の色々な輪郭抽出フィルタを試してみた
※2020/06/08追記 正規化の方法が間違っていました。
方法
- VisualStudioにNuGetでOpenCVSharp4とOpenCVSharp4.runtime.winをインストール
- 次のプログラムを実行
OpenCVSharp4のカラーマップ機能を使った
カラーバーにするには
を使う
カラースケールの種類
ColorConversionCodes | スケール | 説明 | サンプル |
---|---|---|---|
色マップなし | ふつうのグレースケール | ||
Bone | 普通のグレースケールより見やすい | ||
Autumn | 熱画像っぽい。hotより狭い | ||
Hot | 熱画像っぽい。Autumnより広い | ||
Cividis | 均等な配色で、色盲の人にも同じに見えるらしい | ||
Viridis | 大小の比較がしやすい。色盲にも対応。 |
|
|
Jet |
|
たぶん一番使うやつ | サンプルなし |
Hsv | Jetより配色がスムースだが、並びが逆 | サンプルなし | |
TwilightShifted | くすんだ配色がエモい | ||
Pink | Pinkという名のセピア調 |
参考
https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0199239
https://docs.opencv.org/3.2.0/d3/d50/group__imgproc__colormap.html#ga9a805d8262bcbe273f16be9ea2055a65
OpenCVSharp4でmatの要素(画素)にアクセス
はじめに
OpenCVSharp4でmatの要素にアクセスする方法をまとめた
値の取得
値の取得方法として
①Atメソッドを使う方法
②getメソッドを使う方法
③インデクサーを使う方法
がある。
各メソッド内の<>はmatのMatTypeに合わせて書き換える必要がある
MatType | <>の中身 |
---|---|
CV_8UC1 | char |
CV_32FC1 | float |
CV_64FC1 | double |
CV_8UC3 | Vec3b |
CV_32FC3 | Vec3f |
CV_64FC3 | Vec3 |
MatTypeがわからないときは下のような関数でゴリ押し
(もっとマシな調べ方募集中)
値の書き換え
値の書き換えは
①Setメソッドを使う方法
②インデクサーを使う方法
がある
参考
https://tech-blog.s-yoshiki.com/2018/11/787/
http://kassymemo.blogspot.com/2011/09/opencv2cvmat.html
http://sourcechord.hatenablog.com/entry/2016/08/15/235654
OpenCVSharp4の二値化を試す(単純二値化、大津の二値化、適応的二値化)
方法
- VisualStudioにNuGetでOpenCVSharp4とOpenCVSharp4.runtime.winをインストールする
- 次のプログラムを実行する
参考
https://docs.opencv.org/4.0.0/d7/d1b/group__imgproc__misc.html#gaa9e58d2860d4afa658ef70a9b1115576