c++ - OpenCV Freetype2 getTextSize 总是返回 1 高度
问题描述
我正在尝试使用 OpenCV 在 NanoPi NEO 上生成图像。目前使用 Armbian 仿生和 OpenCV 4.3.0(从带有 freetype2 模块的源代码构建)。问题是 Freetype2::getTextSize() 方法总是返回 1 作为文本高度。但是宽度似乎计算得很好。在台式电脑上,相同的代码可以按预期工作。
#include <iostream>
#include <opencv2/core.hpp>
#include <opencv2/freetype.hpp>
int main() {
cv::Ptr<cv::freetype::FreeType2> ft2;
int baseline = 0;
ft2 = cv::freetype::createFreeType2();
ft2->setSplitNumber( 8 );
ft2->loadFontData("../gobold.ttf", 0);
cv::Size textSize = ft2->getTextSize("asdfg", 20, -1, &baseline);
std::cout << "Height = " << textSize.height << " Width = " << textSize.width << std::endl;
return 0;
}
此代码在 Raspberry 上返回“Height = 1 Width = 49”,在具有相同 .ttf 文件的桌面上返回“Height = 18 Width = 49”。
解决方案
推荐阅读
- fosuserbundle - FOS Rest Bundle - 控制器必须返回响应对象,但它返回视图
- uwp - 关闭 UWP 应用的游戏模式通知
- python - 我无法通过 openpyxl 加载我的 excel 文件
- mariadb - 从批处理文件(MariaDB)将参数传递给 .sql 文件
- excel - 工作表更改:如果某个范围内的单元格值 >c8 -> MsgBox 并且如果其他单元格中的值(其中有函数)> 300 -> MsgBox
- sql-server - 将 utf-8 编码的 varbinary(max) 数据转换为 nvarchar(max) 字符串
- java - 使用自定义 TestFramework 增强 Gradle 的“测试”任务
- animation - 动画(步行)gltf 将对象从一个位置克隆到另一个位置
- php - 如何在mysql或数组中查找未知字符
- angular - 失败:无法解析 MediaElementPlayer 的所有参数:(?,?)