- 操作系统:ubuntu22.04
- OpenCV版本:OpenCV4.9
- IDE:Visual Studio Code
- 编程语言:C++11
算法描述
计算特定字体的大小以达到给定的像素高度。
函数原型
double cv::getFontScaleFromHeight
(
const int fontFace,
const int pixelHeight,
const int thickness = 1
)
参数
- 参数fontFace 要使用的字体,参见 cv::HersheyFonts
- 参数pixelHeight 用于计算 fontScale 的像素高度。
- 参数thickness 用于渲染文本的线条厚度。参见 putText 函数的详细信息
代码示例
#include <opencv2/opencv.hpp>
#include <iostream>
int main()
{
// 创建一个空白图像
cv::Mat image = cv::Mat::zeros(400, 600, CV_8UC3);
// 设置文本和字体高度
std::string text = "hello, wukong!";
int fontFace = cv::FONT_HERSHEY_SIMPLEX;
int textHeight = 50; // 文本的高度
// 计算字体的缩放比例
double fontScale = cv::getFontScaleFromHeight(fontFace, textHeight, 0);
// 设置文本颜色
cv::Scalar color(255, 255, 255); // 白色 (BGR)
// 设置文本位置
cv::Point org(50, 100);
// 在图像上绘制文本
cv::putText(image, text, org, fontFace, fontScale, color);
// 显示图像
cv::namedWindow("Text Drawing", cv::WINDOW_NORMAL);
cv::imshow("Text Drawing", image);
cv::waitKey(0);
return 0;
}