0から戦闘OpenCVのN〜(4) - 画像、グラフィック及びテキストビデオフレーミング
画像境界やマスク、塗装グラフィックスとテキストに余分な追加
1、(多くの場合、畳み込みに使用される)追加余分フレーム
函数:copyMakeBorder(SRC、DST、上、下、左、右、borderType、値)。
パラメータ:
SRC:元画像
DST:先の画像
上、下、左、右:本明細書に元の画像サイズの5%のように定義された各境界線の幅、。
borderType:境界が選択され、または一定の境界をコピーすることができる境界タイプ、。
値:型がborderType BORDER_CONSTANTある場合は、境界値は、ピクセルを埋めるために使用されます。
2、および追加のフレーミングマスク0に対応
Result.row(0).setTo(スカラー(0)); //境界
Result.row(Result.rows-1).setTo(スカラー(0)); //下限
Result.col(0).setTo(スカラー(0)); //左の境界
Result.col(Result.cols-1).setTo(スカラー(0)); //右ボーダー
3、グラフィックスとテキストを描画
グラフィックス機能:
2Dポイントは、画像内の点を定義しました
機能ライン()直線を描きます
楕円を描く)(楕円ファンクション
長方形の関数()四角形を描画
ファンクション円は()ラウンド塗装しました
機能fillPoly()は塗りつぶされた多角形をプロット
テキスト機能:
putText(画像、 "テストテキスト"、ORG、rng.uniform(0,8)、
rng.uniform(0,100)* 0.05 + 0.1、randomColor(RNG)、rng.uniform(1、10)、線種)。
例:
画像上のテキスト「テストテキスト」を描きます。
指定されたポイントの組織とテキストの左下隅。
フォントパラメータが定義されたものとの間の整数です。
発現rng.uniform(範囲が表されている)、(0、100)x0.05 + 0.1仕様スケールフォント。
フォント色は、(randomColor(RNG)と呼ばれる)ランダムです。
フォント厚さの範囲は1〜10から、rng.uniform(1,10)として発現されます。
4、テスト:
Scalar value;
RNG rng(12345);
void main()
{
Mat src, dst;
/// 装载图像
src = imread("2.jpg");
imshow("src", src);
putText(src,"opencv goes from 0 to N",Point(80,80),1,1.5,Scalar(0,255,0),1,8);
rectangle(src,Rect(10,10,50,50), Scalar(0, 255, 0), 1, 8);
int top = (int)(0.05*src.rows),bottom = (int)(0.05*src.rows);
int left = (int)(0.05*src.cols),right = (int)(0.05*src.cols);
dst = src;
value = Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255));
copyMakeBorder(src, dst, top, bottom, left, right, BORDER_CONSTANT, value);
imshow("dst", dst);
waitKey(0);
}