指定した文字列に対応した長さを囲む長方形を作ろうと思い、OpenCVで作成しようと考えました。
pythonで書きたいのですが、公式サンプルではおそらくC++で書かれていてよくわかりませんでした。
// ベースラインを表示するために "y" を利用します. string text = "Funny text inside the box"; int fontFace = FONT_HERSHEY_SCRIPT_SIMPLEX; 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; // テキストをセンタリングします. Point textOrg((img.cols - textSize.width)/2, (img.rows + textSize.height)/2); // 矩形を描画します. rectangle(img, textOrg + Point(0, baseline), textOrg + Point(textSize.width, -textSize.height), Scalar(0,0,255)); // ... 次に,まずベースラインを描画します. line(img, textOrg + Point(0, thickness), textOrg + Point(textSize.width, thickness), Scalar(0, 0, 255)); // 続いてテキスト自体を描画します. putText(img, text, textOrg, fontFace, fontScale, Scalar::all(255), thickness, 8);
まずgetTextSizeで文字列の幅と高さを求めるそうなのですが、&baselineの記述がよくわかりません。
pythonではどのような意味になるのでしょうか。
サイトには文字列の最下点から見たベースラインの y 座標とかいてあるのですが、なにになるのでしょうか・・・
参考
OpenCV公式サイト
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。