OpenCV 4.5.3(日本語機械翻訳)
クラス | マクロ定義 | 列挙型 | 関数
Imgproc_draw

クラス

class cv::LineIterator
ラインイテレータ[【詳解】(英語]

マクロ定義

#define CV_RGB(r, g, b)cv::Scalar((b), (g), (r), 0)

列挙型

enum cv::LineTypes { FILLED = -1 , cv::LINE_4 = 4 , cv::LINE_8 = 8 , cv::LINE_AA = 16 }
enum cv::HersheyFonts {
cv::FONT_HERSHEY_SIMPLEX = 0 , cv::FONT_HERSHEY_PLAIN = 1 , cv::FONT_HERSHEY_DUPLEX = 2 , cv::FONT_HERSHEY_COMPLEX = 3 ,
cv::FONT_HERSHEY_TRIPLEX = 4 , cv::FONT_HERSHEY_COMPLEX_SMALL = 5 , cv::FONT_HERSHEY_SCRIPT_SIMPLEX = 6 , cv::FONT_HERSHEY_SCRIPT_COMPLEX = 7 ,
cv::FONT_ITALIC = 16
}
enum cv::MarkerTypes {
cv::MARKER_CROSS = 0 , cv::MARKER_TILTED_CROSS = 1 , cv::MARKER_STAR = 2 , cv::MARKER_DIAMOND = 3 ,
cv::MARKER_SQUARE = 4 , cv::MARKER_TRIANGLE_UP = 5 , cv::MARKER_TRIANGLE_DOWN = 6
}

関数

CV_EXPORTS_W void cv::line (InputOutputArray img, Point pt1, Point pt2, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0)
2 点を結ぶ線分を描画します。[【詳解】(英語]
CV_EXPORTS_W void cv::arrowedLine (InputOutputArray img, Point pt1, Point pt2, const Scalar &color, int thickness=1, int line_type=8, int shift=0, double tipLength=0.1)
1 つ目の点から 2 つ目の点を指す矢印セグメントを描画します。[【詳解】(英語]
CV_EXPORTS_W void cv::rectangle (InputOutputArray img, Point pt1, Point pt2, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0)
単純な、太い、または塗りつぶされた右上がりの長方形を描画します。[【詳解】(英語]
CV_EXPORTS_W void cv::rectangle (InputOutputArray img, Rect rec, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0)
CV_EXPORTS_W void cv::circle (InputOutputArray img, Point center, int radius, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0)
円を描画します。[【詳解】(英語]
CV_EXPORTS_W void cv::ellipse (InputOutputArray img, Point center, Size axes, double angle, double startAngle, double endAngle, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0)
単純または太い楕円弧の描画、または楕円セクタの塗りつぶしを行います。[【詳解】(英語]
CV_EXPORTS_W void cv::ellipse (InputOutputArray img, const RotatedRect &box, const Scalar &color, int thickness=1, int lineType=LINE_8)
CV_EXPORTS_W void cv::drawMarker (InputOutputArray img, Point position, const Scalar &color, int markerType=MARKER_CROSS, int markerSize=20, int thickness=1, int line_type=8)
画像内の指定された位置にマーカーを描画します。[【詳解】(英語]
CV_EXPORTS void cv::fillConvexPoly (InputOutputArray img, const Point *pts, int npts, const Scalar &color, int lineType=LINE_8, int shift=0)
CV_EXPORTS_W void cv::fillConvexPoly (InputOutputArray img, InputArray points, const Scalar &color, int lineType=LINE_8, int shift=0)
凸状の多角形を塗りつぶします。[【詳解】(英語]
CV_EXPORTS void cv::fillPoly (InputOutputArray img, const Point **pts, const int *npts, int ncontours, const Scalar &color, int lineType=LINE_8, int shift=0, Point offset=Point())
CV_EXPORTS_W void cv::fillPoly (InputOutputArray img, InputArrayOfArrays pts, const Scalar &color, int lineType=LINE_8, int shift=0, Point offset=Point())
1つまたは複数のポリゴンで囲まれた領域を塗りつぶします。[【詳解】(英語]
CV_EXPORTS void cv::polylines (InputOutputArray img, const Point *const *pts, const int *npts, int ncontours, bool isClosed, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0)
CV_EXPORTS_W void cv::polylines (InputOutputArray img, InputArrayOfArrays pts, bool isClosed, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0)
複数の多角形曲線を描画します。[【詳解】(英語]
CV_EXPORTS_W void cv::drawContours (InputOutputArray image, InputArrayOfArrays contours, int contourIdx, const Scalar &color, int thickness=1, int lineType=LINE_8, InputArray hierarchy=noArray(), int maxLevel=INT_MAX, Point offset=Point())
輪郭線,または塗りつぶし輪郭線を描画します.[【詳解】(英語]
CV_EXPORTS bool cv::clipLine (Size imgSize, CV_IN_OUT Point &pt1, CV_IN_OUT Point &pt2)
線分を画像の矩形に合わせて切り取ります。[【詳解】(英語]
CV_EXPORTS bool cv::clipLine (Size2l imgSize, CV_IN_OUT Point2l &pt1, CV_IN_OUT Point2l &pt2)
CV_EXPORTS_W bool cv::clipLine (Rect imgRect, CV_OUT CV_IN_OUT Point &pt1, CV_OUT CV_IN_OUT Point &pt2)
CV_EXPORTS_W void cv::ellipse2Poly (Point center, Size axes, int angle, int arcStart, int arcEnd, int delta, CV_OUT std::vector< Point > &pts)
楕円形の円弧をポリラインで近似します。[【詳解】(英語]
CV_EXPORTS void cv::ellipse2Poly (Point2d center, Size2d axes, int angle, int arcStart, int arcEnd, int delta, CV_OUT std::vector< Point2d > &pts)
CV_EXPORTS_W void cv::putText (InputOutputArray img, const String &text, Point org, int fontFace, double fontScale, Scalar color, int thickness=1, int lineType=LINE_8, bool bottomLeftOrigin=false)
テキスト文字列を描画します。[【詳解】(英語]
CV_EXPORTS_W Size cv::getTextSize (const String &text, int fontFace, double fontScale, int thickness, CV_OUT int *baseLine)
テキスト文字列の幅と高さを計算します。[【詳解】(英語]
CV_EXPORTS_W double cv::getFontScaleFromHeight (const int fontFace, const int pixelHeight, const int thickness=1)
与えられた高さ(ピクセル)を実現するために使用するフォント固有のサイズを計算します。[【詳解】(英語]

詳解

マクロ定義詳解

CV_RGB

#define CV_RGB ( r,
g,
b
) cv::Scalar((b), (g), (r), 0)

OpenCV のカラーチャンネル順序は BGR[A] です.

列挙型詳解

HersheyFonts

Hersheyフォントのサブセットのみhttps://en.wikipedia.org/wiki/Hershey_fontsにのみ対応しています.

列挙値
フォント_ハーシー_シンプレックス

通常サイズのサンセリフフォント

font_hershey_plain (フォント_ハーシー_プレーン

小さいサイズのサンセリフフォント

font_hershey_duplex(フォントハーシーデュプレックス

通常サイズのサンセリフフォント(FONT_HERSHEY_SIMPLEXよりも複雑なフォント)

フォント_HERSHEY_COMPLEX

ノーマルサイズのセリフフォント

フォント_ハーシー_トリプレックス(FONT_HERSHEY_TRIPLEX

ノーマルサイズセリフフォント (FONT_HERSHEY_COMPLEXよりも複雑)

font_hershey_complex_small

FONT_HERSHEY_COMPLEXの小型版

font_hershey_script_simplex(フォント_HERSHEY_COMPLEXの小型版

手書き風フォント

フォント_ハーシー_スクリプト_コンプレックス

FONT_HERSHEY_SCRIPT_SIMPLEXのより複雑なバリアント。

フォント_イタリック

イタリックフォントのフラグ

LineTypes

行の種類

列挙値
LINE_4

4本連結の線

LINE_8

8連結の線

LINE_AA

アンチエイリアス線

MarkerTypes

に使用されるマーカータイプの可能なセットcv::drawMarker関数

列挙値
MARKER_CROSS

十字型のマーカー形状

MARKER_TILTED_CROSS

45度傾いた十字形のマーカー形状

MARKER_STAR

クロスとチルトクロスを組み合わせた星形のマーカー形状

MARKER_DIAMOND

菱形のマーカー形状

MARKER_SQUARE(マーカースクエア

正方形のマーカー形状

MARKER_TRIANGLE_UP(トライアングルアップ

上向きの三角形のマーカー形状

マーカーTriangle_down

下向きの三角形のマーカー形状

関数詳解

arrowedLine()

CV_EXPORTS_W void cv::arrowedLine ( InputOutputArray img,
Point pt1,
Point pt2,
const Scalar & color,
int thickness = 1,
int line_type = 8,
int shift = 0,
double tipLength = 0.1
)

1 つ目の点から 2 つ目の点を指す矢印セグメントを描画します。

この関数はcv::arrowedLine画像内の pt1 と pt2 の間に矢印を描画します。関連項目line.

引数
img 画像。
pt1 矢印の始点となる点
pt2 矢印が指す点
color 線の色
thickness 線の太さ
line_type 線の種類 参照LineTypes
shift 点の座標に含まれる小数ビットの数。
tipLength 矢印の長さに対する矢印の先端の長さ

circle()

CV_EXPORTS_W void cv::circle ( InputOutputArray img,
Point center,
int radius,
const Scalar & color,
int thickness = 1,
int lineType = LINE_8 ,
int shift = 0
)

円を描画します。

この関数はcv::circleは、与えられた中心と半径を持つ単純または塗りつぶした円を描画します。

引数
img 円が描画されるイメージ。
center 円の中心
radius 円の半径
color 円の色を指定します。
thickness 円の輪郭の太さ(正の値の場合)。FILLEDのような負の値は、塗りつぶされた円が描かれることを意味します。
lineType 円の境界線のタイプを指定します。参照LineTypes
shift 中心の座標と半径の値に含まれる小数ビットの数。

clipLine() [1/3]

CV_EXPORTS_W bool cv::clipLine ( Rect imgRect,
CV_OUT CV_IN_OUT Point & pt1,
CV_OUT CV_IN_OUT Point & pt2
)

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

引数
imgRect 画像の四角形。
pt1 第一線のポイント。
pt2 2本目の線のポイント。

clipLine() [2/3]

CV_EXPORTS bool cv::clipLine ( Size imgSize,
CV_IN_OUT Point & pt1,
CV_IN_OUT Point & pt2
)

線分を画像の矩形に合わせて切り取ります。

この関数はcv::clipLine線分の一部が指定された矩形内に収まるように計算します。それ以外の場合は真を返します。

引数
imgSize 画像サイズ.画像の矩形は Rect(0, 0, imgSize.width, imgSize.height) です.
pt1 第一線のポイント。
pt2 2本目の線のポイント。

clipLine() [3/3]

CV_EXPORTS bool cv::clipLine ( Size2l imgSize,
CV_IN_OUT Point2l & pt1,
CV_IN_OUT Point2l & pt2
)

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

引数
imgSize 画像サイズ.画像の矩形は Rect(0, 0, imgSize.width, imgSize.height) です.
pt1 第一線のポイント。
pt2 2本目の線のポイント。

drawContours()

CV_EXPORTS_W void cv::drawContours ( InputOutputArray image,
InputArrayOfArrays contours,
int contourIdx,
const Scalar & color,
int thickness = 1,
int lineType = LINE_8 ,
InputArray hierarchy = noArray(),
int maxLevel = INT_MAX,
Point offset = Point()
)

輪郭線,または塗りつぶし輪郭線を描画します.

この関数は,次の条件を満たす場合,画像に輪郭線を描きます$\texttt{thickness} \ge 0$の場合は,輪郭に囲まれた領域を塗りつぶします.$\texttt{thickness}<0$. 以下の例では,2値画像から連結成分を取得し,それにラベルを付ける方法を示しています: :

引数
image 出力画像。
contours すべての入力輪郭.各輪郭は,点ベクトルとして格納されています.
contourIdx 描画する輪郭を示すパラメータ.負の値であれば,すべての輪郭が描画されます.
color 輪郭の色.
thickness 輪郭を描画する線の太さを指定します。負の値(例えば thickness=#FILLED )の場合、輪郭の内部が描画されます。
lineType 線の接続性を指定します。参照LineTypes
hierarchy 階層に関するオプション情報です。これは、一部の輪郭のみを描画する場合にのみ必要です(maxLevel 参照)。
maxLevel 描画される輪郭の最大レベルを指定します。これが0の場合,指定された輪郭のみが描画されます.1ならば,指定された輪郭と入れ子になっているすべての輪郭が描画されます.2の場合,輪郭,すべての入れ子になった輪郭,すべての入れ子から入れ子になった輪郭,...が描画されます。このパラメータは,利用可能な階層がある場合にのみ考慮されます.
offset オプションの contour shift パラメータ.描かれたすべての輪郭を、指定した値だけシフトします。$\texttt{offset}=(dx,dy)$.
覚え書き
thickness=#FILLEDの場合、この機能は、階層の日付が指定されていない場合でも、穴のある連結部品を正しく処理するように設計されています。これは、偶奇ルールを使用してすべてのアウトラインをまとめて分析することによって行われます。これは、別々に検索した輪郭を合同で集めた場合、正しくない結果になることがあります。この問題を解決するためには、輪郭のサブグループごとにdrawContoursを個別に呼び出すか、contourIdxパラメータを使ってコレクションを反復処理する必要があります。

drawMarker()

CV_EXPORTS_W void cv::drawMarker ( InputOutputArray img,
Point position,
const Scalar & color,
int markerType = MARKER_CROSS ,
int markerSize = 20,
int thickness = 1,
int line_type = 8
)

画像内の指定された位置にマーカーを描画します。

この関数はcv::drawMarkerは、画像内の任意の位置にマーカーを描画します。現時点では、複数のマーカータイプがサポートされています。MarkerTypesを参照してください。

引数
img 画像。
position 十字キーの位置を指定します。
color 線の色
markerType 使用するマーカーの種類、参照MarkerTypes
thickness 線の太さ
line_type 線の種類、参照LineTypes
markerSize マーカー軸の長さ [デフォルト = 20 ピクセル]。

ellipse() [1/2]

CV_EXPORTS_W void cv::ellipse ( InputOutputArray img,
const RotatedRect & box,
const Scalar & color,
int thickness = 1,
int lineType = LINE_8
)

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

引数
img 画像。
box 楕円の代替表現RotatedRect. これは,この関数が回転した矩形に内接する楕円を描くことを意味します.
color 楕円の色.
thickness 正の値であれば,楕円の円弧の輪郭の太さを指定します.それ以外の場合は,塗りつぶされた楕円の領域が描画されることを意味します.
lineType 楕円の境界線の種類を指定します。見るLineTypes

ellipse() [2/2]

CV_EXPORTS_W void cv::ellipse ( InputOutputArray img,
Point center,
Size axes,
double angle,
double startAngle,
double endAngle,
const Scalar & color,
int thickness = 1,
int lineType = LINE_8 ,
int shift = 0
)

単純または太い楕円弧の描画、または楕円セクタの塗りつぶしを行います。

この関数はcv::ellipseは、より多くのパラメータを指定すると、楕円の輪郭、塗りつぶし楕円、楕円弧、塗りつぶし楕円のセクターを描画します。描画コードは一般的なパラメトリック形式を採用しています。楕円弧の境界を近似するために、断片的な線形曲線が使用されます。楕円の描画をより細かく制御する必要がある場合は、次のようにして曲線を取得しellipse2Polyで曲線を取得し、それをpolylinesでレンダリングしたり,次のコマンドで塗りつぶしたりすることができます.fillPoly. この関数の最初のバージョンを使用して,円弧ではなく楕円全体を描画したい場合は,次のように指定しますstartAngle=0およびendAngle=360. もしstartAngleが大きい場合はendAngleよりも大きい場合は,両者が入れ替わります.下の図は、青色の円弧を描くためのパラメータの意味を説明したものです。

Parameters of Elliptic Arc

引数
img 画像。
center 楕円の中心。
axes 楕円の主軸の大きさの半分。
angle 楕円の回転角度(単位:°)。
startAngle 楕円の開始角度(単位:度
endAngle 楕円弧の終点角度(単位:度
color 楕円の色.
thickness 正の値であれば,楕円の円弧の輪郭の太さを指定します.それ以外の場合は,塗りつぶされた楕円の領域が描画されることを意味します.
lineType 楕円の境界線の種類を指定します。見るLineTypes
shift 中心の座標と軸の値に含まれる小数ビットの数

ellipse2Poly() [1/2]

CV_EXPORTS_W void cv::ellipse2Poly ( Point center,
Size axes,
int angle,
int arcStart,
int arcEnd,
int delta,
CV_OUT std::vector< Point > & pts
)

楕円形の円弧をポリラインで近似します。

関数ellipse2Polyは,指定された楕円弧を近似するポリラインの頂点を計算します。この関数はellipse. もしarcStartが大きい場合はarcEndで使用されますが,両者は入れ替わります。

引数
center 弧の中心
axes 楕円の主軸の大きさの半分。参照ellipseを参照してください。
angle 楕円の回転角度(度数)。参照ellipseを参照してください。
arcStart 楕円の開始角度(単位:度
arcEnd 楕円弧の終点角度(単位:度
delta 後続のポリラインの頂点間の角度。近似精度を定義します。
pts ポリラインの頂点の出力ベクトルです。

ellipse2Poly() [2/2]

CV_EXPORTS void cv::ellipse2Poly ( Point2d center,
Size2d axes,
int angle,
int arcStart,
int arcEnd,
int delta,
CV_OUT std::vector< Point2d > & pts
)

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

引数
center 弧の中心
axes 楕円の主軸の大きさの半分。参照ellipseを参照してください。
angle 楕円の回転角度(度数)。参照ellipseを参照してください。
arcStart 楕円の開始角度(単位:度
arcEnd 楕円弧の終点角度(単位:度
delta 後続のポリラインの頂点間の角度。近似精度を定義します。
pts ポリラインの頂点の出力ベクトルです。

fillConvexPoly() [1/2]

CV_EXPORTS void cv::fillConvexPoly ( InputOutputArray img,
const Point * pts,
int npts,
const Scalar & color,
int lineType = LINE_8 ,
int shift = 0
)

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

fillConvexPoly() [2/2]

CV_EXPORTS_W void cv::fillConvexPoly ( InputOutputArray img,
InputArray points,
const Scalar & color,
int lineType = LINE_8 ,
int shift = 0
)

凸状の多角形を塗りつぶします。

この関数はcv::fillConvexPoly塗りつぶした凸多角形を描画します。この関数は,以下の関数よりもはるかに高速です.fillPoly. 凸多角形だけでなく,自己交差のない単調な多角形,つまり,輪郭がすべての水平線(走査線)と最大で2回交差する多角形を塗りつぶすことができます(ただし,最上端や最下端が水平である可能性もあります).

引数
img 画像。
points ポリゴンの頂点
color ポリゴンの色
lineType ポリゴンの境界線の種類 参照LineTypes
shift 頂点座標に含まれる小数ビットの数

fillPoly() [1/2]

CV_EXPORTS void cv::fillPoly ( InputOutputArray img,
const Point ** pts,
const int * npts,
int ncontours,
const Scalar & color,
int lineType = LINE_8 ,
int shift = 0,
Point offset = Point()
)

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

fillPoly() [2/2]

CV_EXPORTS_W void cv::fillPoly ( InputOutputArray img,
InputArrayOfArrays pts,
const Scalar & color,
int lineType = LINE_8 ,
int shift = 0,
Point offset = Point()
)

1つまたは複数のポリゴンで囲まれた領域を塗りつぶします。

この関数はcv::fillPolyは,複数のポリゴンの輪郭で囲まれた領域を塗りつぶします。この関数は,複雑な領域を塗りつぶすことができます.例えば,穴のある領域や,自己交差(一部の部分)を持つ輪郭などです.

引数
img 画像。
pts 多角形の配列で,各多角形は点の配列として表現されます.
color ポリゴンの色
lineType ポリゴンの境界線の種類 参照LineTypes
shift 頂点座標に含まれる小数ビットの数
offset 輪郭のすべての点のオフセット(オプション)。

getFontScaleFromHeight()

CV_EXPORTS_W double cv::getFontScaleFromHeight ( const int fontFace,
const int pixelHeight,
const int thickness = 1
)

与えられた高さ(ピクセル)を実現するために使用するフォント固有のサイズを計算します。

引数
fontFace 使用するフォント,参照cv::HersheyFonts.
pixelHeight fontScaleを計算するためのピクセルの高さ
thickness テキストをレンダリングするのに使われる線の太さ.
戻り値
に使用するfontSize。cv::putText
参照
cv::putText

getTextSize()

CV_EXPORTS_W Size cv::getTextSize ( const String & text,
int fontFace,
double fontScale,
int thickness,
CV_OUT int * baseLine
)

テキスト文字列の幅と高さを計算します。

この関数はcv::getTextSizeは、指定されたテキストを格納するボックスのサイズを計算して返します。つまり,次のコードは,いくつかのテキスト,それを囲むタイトなボックス,およびベースラインをレンダリングするものです: :

String text = "Funny text inside the box";
double fontScale = 2;
int thickness = 3;
Mat img(600, 800, CV_8UC3, Scalar::all(0));
int baseline=0;
Size textSize = getTextSize(text, fontFace,
fontScale, thickness, &baseline);
baseline += thickness;
// center the text
Point textOrg((img.cols - textSize.width)/2,
(img.rows + textSize.height)/2);
// draw the box
rectangle(img, textOrg + Point(0, baseline),
textOrg + Point(textSize.width, -textSize.height),
Scalar(0,0,255));
// ... and the baseline first
line(img, textOrg + Point(0, thickness),
textOrg + Point(textSize.width, thickness),
Scalar(0, 0, 255));
// then put the text itself
putText(img, text, textOrg, fontFace, fontScale,
Scalar::all(255), thickness, 8);
n-dimensional dense array class
Definition: mat.hpp:802
static Scalar_< double > all(double v0)
returns a scalar with all elements set to v0
Template class for specifying the size of an image or rectangle.
Definition: core/types.hpp:316
_Tp height
the height
Definition: core/types.hpp:340
_Tp width
the width
Definition: core/types.hpp:339
CV_EXPORTS_W Size getTextSize(const String &text, int fontFace, double fontScale, int thickness, CV_OUT int *baseLine)
Calculates the width and height of a text string.
CV_EXPORTS_W void rectangle(InputOutputArray img, Point pt1, Point pt2, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0)
Draws a simple, thick, or filled up-right rectangle.
CV_EXPORTS_W void putText(InputOutputArray img, const String &text, Point org, int fontFace, double fontScale, Scalar color, int thickness=1, int lineType=LINE_8, bool bottomLeftOrigin=false)
Draws a text string.
CV_EXPORTS_W void line(InputOutputArray img, Point pt1, Point pt2, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0)
Draws a line segment connecting two points.
@ FONT_HERSHEY_SCRIPT_SIMPLEX
hand-writing style font
Definition: imgproc.hpp:829
引数
text 入力テキスト文字列。
fontFace 使用するフォント,参照HersheyFonts.
fontScale フォント固有のベースサイズに乗算されるフォントスケールファクター。
thickness テキストの描画に使用される線の太さ。参照putTextを参照してください。
[out]. baseLine 最下部のテキストポイントを基準としたベースラインの y 座標。
戻り値
指定されたテキストを含むボックスのサイズです。
参照
putText

line()

CV_EXPORTS_W void cv::line ( InputOutputArray img,
Point pt1,
Point pt2,
const Scalar & color,
int thickness = 1,
int lineType = LINE_8 ,
int shift = 0
)

2 点を結ぶ線分を描画します。

関数 line は,画像上の点 pt1 と pt2 を結ぶ線分を描画します.この線は、画像の境界によってクリップされます。アンチエイリアスのかかっていない整数座標の線に対しては,8-connected または 4-connected の Bresenham アルゴリズムが用いられます.太い線は丸みを帯びた終端で描かれます。アンチエイリアスされた線は、ガウスフィルタリングを使用して描画されます。

引数
img 画像。
pt1 線分の最初の点。
pt2 線分の第2点
color 線の色
thickness 線の太さ
lineType 線の種類 参照LineTypes.
shift 点の座標に含まれる小数ビットの数。

polylines() [1/2]

CV_EXPORTS void cv::polylines ( InputOutputArray img,
const Point *const * pts,
const int * npts,
int ncontours,
bool isClosed,
const Scalar & color,
int thickness = 1,
int lineType = LINE_8 ,
int shift = 0
)

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

polylines() [2/2]

CV_EXPORTS_W void cv::polylines ( InputOutputArray img,
InputArrayOfArrays pts,
bool isClosed,
const Scalar & color,
int thickness = 1,
int lineType = LINE_8 ,
int shift = 0
)

複数の多角形曲線を描画します。

引数
img 画像。
pts 多角形曲線の配列
isClosed 描画されたポリラインが閉じているかどうかを示すフラグ。閉じている場合は、各曲線の最後の頂点から最初の頂点までの直線を描画します。
color ポリラインの色.
thickness ポリラインのエッジの太さ
lineType 線分の種類 参照LineTypes
shift 頂点座標に含まれる小数ビットの数

この関数はcv::polylinesは,1 つまたは複数の多角形曲線を描画します。

putText()

CV_EXPORTS_W void cv::putText ( InputOutputArray img,
const String & text,
Point org,
int fontFace,
double fontScale,
Scalar color,
int thickness = 1,
int lineType = LINE_8 ,
bool bottomLeftOrigin = false
)

テキスト文字列を描画します。

この関数はcv::putTextは、指定された文字列を画像にレンダリングします。指定されたフォントでレンダリングできない記号はクエスチョンマークに置き換えられます。テキストレンダリングのコード例についてはgetTextSizeテキストレンダリングのコード例を参照してください。

引数
img 画像。
text 描画されるテキスト文字列。
org 画像内のテキスト文字列の左下隅。
fontFace フォントの種類、参照HersheyFonts.
fontScale フォント固有のベースサイズに乗算されるフォントスケールファクター。
color テキストの色。
thickness テキストの描画に使われる線の太さ。
lineType 線の種類」参照。参照LineTypes
bottomLeftOrigin true の場合、画像データの原点は左下隅になります。それ以外の場合は、左上隅になります。

rectangle() [1/2]

CV_EXPORTS_W void cv::rectangle ( InputOutputArray img,
Point pt1,
Point pt2,
const Scalar & color,
int thickness = 1,
int lineType = LINE_8 ,
int shift = 0
)

単純な、太い、または塗りつぶされた右上がりの長方形を描画します。

この関数はcv::rectangleは、対向する 2 つの角を pt1 と pt2 とする矩形の輪郭または塗りつぶした矩形を描画します。

引数
img 画像。
pt1 矩形の頂点。
pt2 pt1 に対向する矩形の頂点です。
color 矩形の色または輝度(グレースケール画像).
thickness 矩形を構成する線の太さ。FILLED のような負の値は,関数が塗りつぶされた矩形を描画しなければならないことを意味します.
lineType 線の種類 参照LineTypes
shift 点の座標に含まれる小数ビットの数。

rectangle() [2/2]

CV_EXPORTS_W void cv::rectangle ( InputOutputArray img,
Rect rec,
const Scalar & color,
int thickness = 1,
int lineType = LINE_8 ,
int shift = 0
)

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

使用recパラメータは,描画される矩形の代替指定として利用できます.r.tl() and r.br()-Point(1,1)は反対側の角