OpenCV 4.13.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 4.13.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
cv::freetype::FreeType2 クラスabstract

#include <opencv2/freetype.hpp>

Collaboration diagram for cv::freetype::FreeType2:

公開メンバ関数

virtual Size getTextSize (const String &text, int fontHeight, int thickness, int *baseLine)=0
 テキスト文字列の幅と高さを計算する。
 
virtual void loadFontData (char *pBuf, size_t bufSize, int idx)=0
 フォントデータを読み込む。
 
virtual void loadFontData (String fontFileName, int idx)=0
 フォントデータを読み込む。
 
virtual void putText (InputOutputArray img, const String &text, Point org, int fontHeight, Scalar color, int thickness, int line_type, bool bottomLeftOrigin)=0
 テキスト文字列を描画する。
 
virtual void setSplitNumber (int num)=0
 ベジエ曲線から線分への分割数を設定する。
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 アルゴリズムの状態をクリアする。
 
virtual bool empty () const
 Algorithm が空の場合(たとえば開始直後や読み込みに失敗した後)に true を返す。
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 ファイルストレージからアルゴリズムの引数を読み込む。
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
virtual void write (FileStorage &fs) const
 アルゴリズムの引数をファイルストレージに保存する。
 
void write (FileStorage &fs, const String &name) const
 

Additional Inherited Members

- Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tp > load (const String &filename, const String &objname=String())
 ファイルからアルゴリズムを読み込む。
 
template<typename _Tp >
static Ptr< _Tp > loadFromString (const String &strModel, const String &objname=String())
 文字列からアルゴリズムを読み込む。
 
template<typename _Tp >
static Ptr< _Tp > read (const FileNode &fn)
 ファイルノードからアルゴリズムを読み込む。
 
- Protected Member Functions inherited from cv::Algorithm
void writeFormat (FileStorage &fs) const
 

メンバ関数詳解

◆ getTextSize()

virtual Size cv::freetype::FreeType2::getTextSize ( const String & text,
int fontHeight,
int thickness,
int * baseLine )
pure virtual

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

関数getTextSizeは、指定したテキストを含むボックスの概算サイズを計算して返す。すなわち、以下のコードはテキストと、それを囲むタイトなボックス、およびベースラインを描画する: :

String text = "Funny text inside the box";
int fontHeight = 60;
int thickness = -1;
int linestyle = LINE_8;
Mat img(600, 800, CV_8UC3, Scalar::all(0));
int baseline=0;
ft2->loadFontData( "./mplus-1p-regular.ttf", 0 );
Size textSize = ft2->getTextSize(text,
fontHeight,
thickness,
&baseline);
if(thickness > 0){
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,255,0),1,8);
// ... and the baseline first
line(img, textOrg + Point(0, thickness),
textOrg + Point(textSize.width, thickness),
Scalar(0, 0, 255),1,8);
// then put the text itself
ft2->putText(img, text, textOrg, fontHeight,
Scalar::all(255), thickness, linestyle, true );
n-dimensional dense array class
Definition mat.hpp:840
static Scalar_< double > all(double v0)
Template class for specifying the size of an image or rectangle.
Definition types.hpp:335
_Tp height
the height
Definition types.hpp:363
_Tp width
the width
Definition types.hpp:362
Point2i Point
Definition types.hpp:209
std::string String
Definition cvstd.hpp:151
std::shared_ptr< _Tp > Ptr
Definition cvstd_wrapper.hpp:23
#define CV_8UC3
Definition interface.h:90
Ptr< FreeType2 > createFreeType2()
Create FreeType2 Instance.
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.
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.
@ LINE_8
8-connected line
Definition imgproc.hpp:899
引数
text入力テキスト文字列。
fontHeightピクセル単位で指定する描画フォントサイズ。
thicknessテキストの描画に使用する線の太さ。詳細はputTextを参照する。
[out]baseLineテキストの最下点を基準としたベースラインのy座標。
戻り値
指定したテキストを含むボックスのサイズ。
参照
cv::putText

◆ loadFontData() [1/2]

virtual void cv::freetype::FreeType2::loadFontData ( char * pBuf,
size_t bufSize,
int idx )
pure virtual

フォントデータを読み込む。

関数loadFontDataはメモリからフォントデータを読み込む。データはコピーされないため、ユーザーはそのデータが少なくとも FreeType2 と同じ期間存続することを保証する必要がある。FreeType2 オブジェクトが破棄された後、バッファは安全に解放できる。

引数
pBufフォントデータを格納したバッファへのポインタ
bufSizeバッファのサイズ
idx単一のファイル内のフォントフェイスを選択するための face_index。

◆ loadFontData() [2/2]

virtual void cv::freetype::FreeType2::loadFontData ( String fontFileName,
int idx )
pure virtual

フォントデータを読み込む。

関数loadFontDataはファイルからフォントデータを読み込む。

引数
fontFileNameFontFile名
idx単一のファイル内のフォントフェイスを選択するための face_index。

◆ putText()

virtual void cv::freetype::FreeType2::putText ( InputOutputArray img,
const String & text,
Point org,
int fontHeight,
Scalar color,
int thickness,
int line_type,
bool bottomLeftOrigin )
pure virtual

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

関数putTextは、指定したテキスト文字列を画像内に描画する。指定したフォントで描画できないシンボルは「Tofu」に置き換えられるか、描画されない。

引数
img画像。(2DのMatで 8UC1/8UC3/8UC4 のみサポートされている。)
text描画するテキスト文字列。
org画像内のテキスト文字列の左下/左上のコーナー。
fontHeightピクセル単位で指定する描画フォントサイズ。
colorテキストの色。
thicknessテキストの描画に使用する線の太さ。負の値の場合はグリフが塗りつぶされる。それ以外の場合は、この太さでグリフが描画される。
line_type線の種類。詳細はlineを参照する。
bottomLeftOrigintrue の場合、画像データの原点は左下隅にある。そうでなければ左上隅にある。

◆ setSplitNumber()

virtual void cv::freetype::FreeType2::setSplitNumber ( int num)
pure virtual

ベジエ曲線から線分への分割数を設定する。

関数setSplitNumberはベジエ曲線から線分への分割点の数を設定する。大きなグリフを描画したい場合は大きい値が望ましい。小さなグリフを描画したい場合は小さい値が望ましい。

引数
numベジエ曲線から線分への分割点の数

このクラス詳解は次のファイルから抽出されました: