[03] 目的ごとの整理(1)
ネットを彷徨しても能率が上がりません。ここらで少し情報整理を始めます。
画像 image.jpg を img に読み込む/画像の変数 img のインスタンス化
●ファイルを読み込む
var img = new Mat(@“image.jpg”);
●青(255,0,0)く塗りつぶした 8bit, 3ch の 240×320 の画像
var img = new Mat(240, 320, MatType.CV_8UC3, new Scalar(255, 0, 0));
● 画像ファイルを読み込む
img = cv2.imread(“input.jpg”)
画像のコピー(複製)作成
var clone = img.Clone();
画像の切り抜き(四角)
var imgPartClone = img.Clone(new Rect(100, 100, 200, 150));
●画像をファイルに書き込む
cv2.imwrite(“image.jpg”, img)
MAT(マトリックス)形式画像の情報を得る(メンバー変数)
●画像 img の巾 : img.Width
● 画像 img の高さ : img.Height
● 画像 img の色数 : img.Cols
● 画像 img の行列サイズ : img.Size() / img.Rows / img.cols
● 画像 img の チャンネル(色)数 : img.Channels()
● 画像 img の色調(深さ)のコード : img.Depth()
画像の色調深さの種類と表記
CV_8U – 8-ビット符号なし整数 ( 0..255 )
CV_8S – 8-ビット符号あり整数 ( -128..127 )
CV_16U – 16-ビット符号なし整数 ( 0..65535 )
CV_16S – 16-ビット符号あり整数 ( -32768..32767 )
CV_32S – 32-ビット符号あり整数 ( -2147483648..2147483647 )
CV_32F – 32-ビット浮動小数点数 ( -FLT_MAX..FLT_MAX, INF, NAN )CV_64F – 64-ビット浮動小数点数 ( -DBL_MAX..DBL_MAX, INF, NAN )
画像 img をOpenCVのウインドウで表示
● window関数で画像を表示
using(var win = new Window(“Window Title”, img))
● ImShow関数で画像を表示
Cv2.ImShow(“WindowTitle”, img);
● 表示ウインドウの破棄/すべて破棄
Cv2.DestroyWindow()
Cv2.DestroyAllWindows
画像の大きさの変更
● 数値指定
Cv2.Resize(img0, img1, new Size(320, 240), 0, 0, InterpolationFlags.Cubic);
● 比率指定
Cv2.Resize(src, dst, Size.Zero, 1, 0.5, InterpolationFlags.Cubic);
画像の反転操作
● 左右水平反転
Cv2.Flip(src, dst, FlipMode.X);
● 上下垂直反転
Cv2.Flip(src, dst, FlipMode.Y);
C# の実行を休憩(Return キーを押すまで待機)
Cv2.WaitKey();
グレー処理をする
imgGray = rgb_to_gray(imgOrgn)
ネガ処理をする
imgNega = Cv2.BitwiseNot(img, result1);
var imgNega = ~img;
ガウシアンぼかし処理をする
Cv2.Blur(img, imgGauss, new Size(5, 5));