OpenCV

OpenCV_ copyTo について

深いコピー ( clone と同様 )とマスク行列 ( Mat ) を用いてのコピーが出来る。 深いコピー cv::Mat を代入演算子でコピーすると、浅いコピー ( shallow copy ) が行われ、コピー元とコピー先で cv::Mat のデータが共有される。(参照渡し的な感じ)先も元も同…

OpenCV_色抽出とマスキング

マスキング:描画など作業したくない領域を指定し、保護すること。包み隠す、覆い隠す。 色抽出 下記画像から赤 (255, 0, 0) を抽出する。 ※写真などから赤を抽出する際は、薄~濃と赤の色にも範囲があるので、HSV に画像を変換し、lower、upper もHSV で指…

OpenCV_ YAML 形式ファイルの書き出し と 読込み

cv::FileStorage を用いることでファイル入出力が出来る。 YAML とは、データ構造を文字列で表現したデータ形式。この形式で書き出すことで画像データをテキストとして扱うことが出来る。 データ構造:データの集まりを扱いやすいように、一定の形式で格納し…

OpenCV_ 画像の読込み と 表示

前に読込み・書き出しはメモしていたわ…。 imread で画像を読み込み、imshow で表示。 ※ Mat 画像 を C# の pictureBox に表示するにはBitmap 形式に直して C# に渡す必要があるが、一先ず置いておく。 ソース cv::Mat img = cv::imread("./001img.jpg"); cv…

OpenCV_ Mat の基本操作 (追記)

画像のコピー 完全なコピーの場合は、clone( ) を用いる。 cv::Mat tmp = origImg.clone( );※ img は Mat 型変数。 サイズとデータ型のみをコピーしたい場合。 cv::Mat tmp( origImg.size( ), origImg.type( ), Scalar::all(xxx) );※ cv::Scalar() は任意の…

OpenCV_ Mat の基本操作

Mat 続き。 画像情報の取得 画像の行、列を取り扱うことが出来る。 rows:画像の高さ ( 行数に対応 )cols:画像の幅 ( 列数に対応 ) ex ) cv::Mat hoga( cv::Size(200, 100), CV_8UC3, cv::Scalar(0, 0, 255) );hoga.clos で 200。 channels でチャンネル数…

OpenCV_Mat の基本

Matrix ( 行列 ) の略。画像データを格納するデータ構造。データ構造:データの集まりを扱いやすいように、一定の形式で格納したもの。 画像生成 cv::Mat hoga( cv::Size(200, 100), CV_8UC3, cv::Scalar(0, 0, 255) ); これでインスタンスが生成。画像の幅 …

OpenCV_ インストール

よく分からないけど動いた!( 環境変数パスは設定していない ) https://sourceforge.net/projects/opencvlibrary/files/から OpenCV をダウンロード。( opencv-win をダウンロードした ) ダウンロードした .exe を展開 C++ のプロジェクト内へinclude と ( x…