としています。随時更新します。
◎ 単語
画素値
点につけた色を数字で表現したもの
輝度値
1画素の色のデータを0~255の数値で表したもの
◎ 基本事項
○ cv::Mat
確保された画像領域は、スコープから外れた時に自動的に解放されます。
◎ よく使用するクラス
○ 例外クラス
◎ よく使用する関数
○ cv::imread()
説明
「cv::imread」は、画像を読み込むための関数です。
ファイル名に基づいて、読み込むファイルのフォーマットを決定します。
読み込むことができるフォーマットは多岐にわたります。
また、シグナルチャンネルやマルチチャンネル、整数値、浮動小数点数など、
あらゆる画像を扱うことができます。
引数
戻り値
cv::Matを返します。
メモリ
画像データに必要なメモリを自動的に確保します。
○ cv::namedWindow()
説明
「cv::namedWindow()」は、画像を表示するためのウィンドウを作成する関数です。
引数
第1引数:ウィンドウに付ける名前を指定します。
第2引数:画像が表示された時の、ウィンドウのプロパティを設定します。
○ cv::imshow()
説明
「cv::imshow()」は、ウィンドウに表示する画像を設定する関数です。
引数
第1引数:画像を表示するウィンドウ名を指定します。
第2引数:表示する画像を指定します。
○ cv::destroyWindow()
説明
「cv::destroyWindow()」は、作成したウィンドウを破棄する関数です。
スコープから外れる前に、この関数でウィンドウを破棄しないとメモリリークの原因になります。
引数
第1引数:破棄するウィンドウ名を指定します。
double threshold(const Mat& src, Mat& dst, double thresh, double maxVal, int thresholdType);
この関数では、シングルチャンネルの配列に対して,ある定数での閾値処理を行います.これは,グレースケールからの2値画像生成に利用される場合が多いです
閾値タイプを変更することによって、閾値処理の方式を変更することができます。
thresholdType
THRESH_BINARY
この閾値タイプは、閾値(thresh)より大きい画素値を最大値(maxVal)、それ以外を0として2値化します。
THRESH_BINARY_INV
この閾値タイプは、閾値(thresh)より大きい画素値を0、それ以外を最大値(maxVal)として2値化します。
THRESH_TRUNC
この閾値タイプは、閾値(thresh)より大きい画素値を閾値(threshold)、それ以外をその画素値とします。
THRESH_TOZERO
この閾値タイプは、閾値(thresh)より大きい画素値をその画素値、それ以外を0とします。
THRESH_TOZERO_INV
この閾値タイプは、閾値(thresh)より大きい画素値を0、それ以外をその画素値とします。
THRESH_OTSU
この閾値タイプは、閾値(thresh)より大きい画素値を0、それ以外をその画素値とします。関数は大津のアルゴリズムを用いて最適な閾値を決定し,それを引数 thresh で指定された値の代わりに利用します.
○ 大津の2値化
☆大津の2値化とは、分離度が最大となる閾値を求め、自動で2値化をする手法のことです。
分離度を求めるために、クラス間分散とクラス内分散を求めます。求めたクラス間分散とクラス内分散の比から分離度を求めます。
○ 浅いコピー深いコピー