[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));