如何将多行文本插入到框架/图像中

2024-05-21

我使用 C++ 和 OpenCV 创建了一个框架,并想在其中插入几行文本。

使用以下代码:

putText(frame, "My text here", cvPoint(30,30), 
    FONT_HERSHEY_COMPLEX_SMALL, 0.8, cvScalar(200,200,250), 1, CV_AA); 

但在这里,我想写,假设有两行,“你好”和“欢迎”。 这里的问题是 \n 和 endl 不起作用。 另外,如果可能的话,将文本对齐到框架的中间。

非常感谢。


你需要打电话putText()分别为每行。为了计算每条新线的位置,您可以使用getTextSize()它返回文本的宽度和高度以及基线。在Python中你可以做这样的事情:

    position = (30, 30)
    text = "Some text including newline \n characters."
    font_scale = 0.75
    color = (255, 0, 0)
    thickness = 3
    font = cv2.FONT_HERSHEY_SIMPLEX
    line_type = cv2.LINE_AA

    text_size, _ = cv2.getTextSize(text, font, font_scale, thickness)
    line_height = text_size[1] + 5
    x, y0 = position
    for i, line in enumerate(text.split("\n")):
        y = y0 + i * line_height
        cv2.putText(frame,
                    line,
                    (x, y),
                    font,
                    font_scale,
                    color,
                    thickness,
                    line_type)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将多行文本插入到框架/图像中 的相关文章

随机推荐

  • 重建数据库中的所有索引

    我有一个非常大的 SQL Server 2008 R2 数据库 1 5TB 并将在同一个表中的列之间复制一些数据 我被告知该架构有大量索引 并且想知道是否有默认查询或脚本可以重建所有索引 是否也被建议同时更新统计数据 30 个表中的每一个都
  • 在 Windows 7 64 位中删除 Spark 临时目录时出现异常

    我正在尝试在 Windows 7 64 位中运行 Spark 作业的单元测试 我有 HADOOP HOME D winutils winutils path D winutils bin winutils exe 我运行了以下命令 winu
  • 使用外键引用创建新的 EF 对象,而不加载整个重新引用对象

    我想创建一个新的 EF 对象 它引用另一个对象 我的示例中的 aspnet userId 而不加载外部 键 对象 所以本质上我想做以下事情 buskerSet bs new buskerSet bs Title title bs Image
  • 为什么我在 Java 8 中无法正确解析这个英文日期?

    我想执行一个简单的示例来用模式解析字符串 String input Sep 31 2013 LocalDate localDate LocalDate parse input DateTimeFormatter ofPattern MMM
  • Android自定义控件命名空间问题

    我一直在为 Android 开发自定义控件 尽管我尝试按照建议进行操作here https stackoverflow com questions 4495511 how to pass custom component parameter
  • XSD 1.1 断言以计数和比较元素

    我目前有一个 XSD 文件 它控制对我相应的 XML 文件的验证等 我想进行控制 最好使用断言命令而不是 XLST 因为我对此没有先验知识 并能够确保abc Country 标签与 abc AccountNumber 标签的数量相同 因为其
  • 水平滚动条仅出现在页面底部

    我有一个具有以下 HTML 结构的页面 div class wrapper div The wrapper被设置为min width 1100px至于原因我就不多说了 因此 当浏览器大小调整为小于 1100px 时 我希望出现水平滚动条 我
  • 具有有限行数和字符数限制的文本区域

    我需要具有 TextArea 的功能 1 maximum total lines 6 and 2 in each line there must be maximum of 16 chars 3 if user enters 17th ch
  • 通过颜色渐变修补圆

    我正在尝试绘制一个颜色渐变 我希望它沿轴均匀 在下图由角度定义的情况下 pi 7 当我使用patch命令 绘图与所需的梯度方向匹配 但沿其方向并不均匀 沿圆的点之间形成各种三角形 这是代码 N 120 theta linspace pi p
  • 获取 IntelliJ Kotlin 插件和 gradle 进行匹配

    我正在尝试 IntelliJ 16 早期访问版本 但我的项目无法编译 Error 16 17 Kotlin Unresolved reference substring note this may be caused by the fact
  • 在rails中,如何在要求升级帐户之前限制用户在数据库中保存的帖子数量

    我添加了一种控制非订阅用户和订阅用户的小方法 基本上我的想法是所有使用 Devise 注册的用户都会获得一个帐户 但是 我的模型或根据找到的用户 ID 在数据库中存储的用户可以拥有的帖子数量应该是 25 个帖子 我猜下面的方法会起作用 Mo
  • 如何从一个活动中完成一系列开放的子活动?

    我正在尝试为我的应用程序制作一个退出按钮 无论如何 我能够跟踪我的应用程序中的所有活动实例 然后完成它们 但在某些情况下 仍有一些活动仍然存在 不知道怎么办 有没有什么方法可以杀死android中的特定应用程序 或者我可以通过任何其他方式退
  • 具有单个子模块的多个存储库

    我已经找了一段时间但没有找到答案 也许我不知道该看什么 我们有一个主库 它本身就是一个存储库 我们称之为 Lib 它包含我们的大部分模块和子模块 我们还假设它的大小为 2GB 现在我们有很多项目 例如 ProjA ProjB ProjC 每
  • Rust 中的下划线:“考虑使用”

    Rust 新手 当提供参数并在函数声明中不使用它时 例如 当学习 Rust 时 编译器会警告该变量在作用域中未使用 并建议考虑在其前面添加下划线 这样做 警告就会消失 warning unused variable y gt src mai
  • Google Play 商店中基于服务的 Android 应用程序

    我正在开发一个应用程序 该应用程序仅包含一些服务 没有任何活动 即没有 UI 基本上 当用户在他 她的设备上安装应用程序时 我希望有 2 到 3 个服务在后台运行 对此我有几个疑问 应用程序安装后我的服务将如何启动 我的BroadcastR
  • 使用非标准评估公式

    我正在创建一个使用的包非标准评价 http adv r had co nz Computing on the language html跟踪列的含义 该包在函数之间传递数据框 这些函数执行同一组列的各种操作 非标准评估对此非常有用 my s
  • 使用yard创建文档时如何防止[查看源代码]链接?

    我正在使用yard生成项目文档 但我不想在文档中显示 查看源代码 链接 我已深入研究yard官方指南 但仍然没有得到解决方案 有什么想法吗 谢谢 我可能有点晚了 但您可以通过从 method details 部分中删除 源 部分来轻松自定义
  • 如何使用 Python 和 Java 访问 Google Cloud Endpoints 请求标头

    在endpoints方法中 如何访问请求头信息 Python 在端点方法中 self request state headers提供此信息 E g self request state headers get authorization 爪
  • 快速将阴影绘制到 uibezierpath

    我有一个奇怪的问题 尽管我确实阅读了很多有关如何执行此操作的教程 但最终结果仅显示贝塞尔线 而不显示任何阴影 我的代码非常简单 let borderLine UIBezierPath borderLine moveToPoint CGPoi
  • 如何将多行文本插入到框架/图像中

    我使用 C 和 OpenCV 创建了一个框架 并想在其中插入几行文本 使用以下代码 putText frame My text here cvPoint 30 30 FONT HERSHEY COMPLEX SMALL 0 8 cvScal