0から戦闘OpenCVのN〜(4) - 画像、グラフィック及びテキストビデオフレーミング

クリエイティブコモンズライセンス 著作権:帰属、紙ベースを作成するために他人を許可し、(同じライセンスで元のライセンス契約に基づいて用紙配布する必要がありますクリエイティブコモンズ

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

}

 

5つの結果:

おすすめ

転載: blog.csdn.net/qq_34106574/article/details/93770938