旅行好きなソフトエンジニアの備忘録

プログラミングや技術関連のメモを始めました

【OpenCV】 画像に直線を書き込む

OpenCVの復習が必要になったのでメモしておきます。

// 画像の読み込み
UMat source;
imread("lenna.jpg").copyTo(source);
if (source.empty())
{
    throw runtime_error("Failed to open image");
}

// 直線の始点と終点を定義する
int x0 = source.cols/4;
int y0 = source.rows/4;
int x1 = source.cols*3/4;
int y1 = source.rows*3/4;
Point p0 = Point(x0, y0);
Point p1 = Point(x1, y1);
// 直線の色を定義する
Scalar color = Scalar(0, 0, 255);
// 直線の太さを定義する
int thickness = 3;
// 直線を書き込む
line(source, p0, p1, color, thickness);

// 直線の始点と終点を定義する
p0.y = y1;
p1.y = y0;
// 直線の色を定義する
color = Scalar(255, 0, 0);
// 直線を書き込む
line(source, p0, p1, color, thickness);

imshow("source", source);

f:id:ni4muraano:20170115110821j:plain f:id:ni4muraano:20170115142340j:plain

さらに進化した画像処理ライブラリの定番 OpenCV 3基本プログラミング

さらに進化した画像処理ライブラリの定番 OpenCV 3基本プログラミング