对角线使用 putText() ?使用 OpenCV

2023-11-24

是否可以使用 putText() 方法在图片上对角线绘制文本?

如果没有,除了使用 addWeighted() 将两张图片混合在一起(其中一张是对角放置的文本)之外,还有其他选择吗?

我正在尝试在图片上放置文本水印,我的问题是现在我正在使用 addWeighted() 来混合绘制的文本对角地在白色背景上。即使使用 alpha 0.9,白色背景也会改变原始图片。

我正在使用 OpenCV 2.4.9 和 VC10。 putText() 方法是 OpenCV 上 CORE 库的一部分。

有任何想法吗?

Thanks,

Alex


使用我的评论的想法看看这个例子:

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>

using namespace std;
using namespace cv;

/**
 * Rotate an image (source: http://opencv-code.com/quick-tips/how-to-rotate-image-in-opencv/)
 */
void rotate(cv::Mat& src, double angle, cv::Mat& dst)
{
    int len = std::max(src.cols, src.rows);
    cv::Point2f pt(len/2., len/2.);
    cv::Mat r = cv::getRotationMatrix2D(pt, angle, 1.0);

    cv::warpAffine(src, dst, r, cv::Size(len, len));
}


int main() {

    Mat img = imread("lenna.png", CV_LOAD_IMAGE_COLOR);

    // Create and rotate the text
    Mat textImg = Mat::zeros(img.rows, img.cols, img.type());
    putText(textImg, "stackoverflow", Point(0, img.cols/2), FONT_HERSHEY_SIMPLEX, 2.0,Scalar(20,20,20),2);
    rotate(textImg, -45, textImg);

    // Sum the images (add the text to the original img)
    img= img+textImg;

    namedWindow("WaterMark", CV_WINDOW_AUTOSIZE);
    imshow("WaterMark", img);

    waitKey(0);
    return 0;
}

Result:

lenna Wattermark

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对角线使用 putText() ?使用 OpenCV 的相关文章

随机推荐

  • 在 Windows 8.1 中运行 Visual Studio 6 C++

    我最近将系统迁移到 Windows 8 1 不幸的是 像其他人一样 我无法再启动 Visual Studio 6 软件在启动时崩溃 闪屏 我知道有一些解决方法 可以在较新的 IDE 中使用 vc6 进行编译 但这对我不起作用 因为我必须编译
  • IIS Express 为每个请求加载和卸载模块

    我们有一个 ASP NET 项目在调试时使用 IIS Express 启动VS2013 然后加载解决方案 构建解决方案并在调试模式下启动Web应用程序后 输出窗口列出了一堆已加载和卸载的DLL 经过一番搜索后 我发现 IIS Express
  • Redis 是单线程的。那我为什么要用生菜呢?

    Redis 4 0之后 Redis可以多线程执行一些功能 1 删除后台对象等 但Redis通常仍然使用单线程 常见问题解答 Redis 所以我觉得生菜没什么用 Lettuce 是 Redis 客户端 可以在 1 个连接中使用多个线程 但 R
  • 如何确保提交到 ThreadPoolExecutor 然后取消的 FutureTask 的垃圾回收?

    我正在提交Callable对象到ThreadPoolExecutor他们似乎一直留在记忆中 使用 Eclipse 的 MAT 工具查看堆转储 可以看到Callable对象正在被引用FutureTask Sync s callable多变的
  • eclipse中“JUnit插件测试”和“JUnit测试”之间的区别

    在eclipse运行命令中 有两种选择 JUnit Plug in Test and JUnit Test 之前 我尝试启动 eclipse 插件测试 org eclipse jdt ui tests refactoring 我遇到了一些问
  • 如何使用 C++ 在 Windows 中复制和粘贴文件?

    我已经用谷歌搜索过这个 但我仍然对如何使用它感到困惑 我正在制作一个文件管理器 我希望能够将文件复制并粘贴到新目录中 我知道要复制我需要使用file copy 但我不确定如何将其实现到我的代码中 我想使用 fstream 来做到这一点 如果
  • 缓存生成器

    最近的一个类似问题 isinstance foo types GeneratorType 还是inspect isgenerator foo 让我好奇如何一般地实现这一点 实际上 拥有一个生成器类型的对象似乎是一个普遍有用的东西 它将在第一
  • D3树:用线代替对角线投影

    我正在使用 d3 js 创建一棵树这个例子 这可以完美地处理我拥有的数据并产生期望的结果 除了一个细节 我不想要那些wiggly节点之间的连接线 我想要一条干净简单的线 谁能告诉我如何制作它 我一直在查看 d3 js 的 API 文档 但没
  • WPF WebBrowser 浏览器版本

    WPF WebBrowser 控件是否取决于用户计算机上安装的 IE 版本 或者它是否使用跨计算机一致的单独库 我读到它只能在 IE7 模式下呈现 但我想确保没有安装 IE 或由于某种原因仍在 IE6 上的用户不会出现任何问题 The MS
  • 点击 MKAnnotation 来“选择”它真的很慢

    在点击 MKMapView 上的注释和显示标注之间有近 0 5 秒的延迟 有谁知道为什么会出现这种情况 以及当用户点击地图时如何使其立即响应 即使用户位置注释在点击时在标注中显示 当前位置 也会发生这种情况 我希望它在点击时立即显示 没有奇
  • 找到重叠的圆圈

    我有一个矩形区域 其中有半径相等的圆 我想找到哪些圆与其他圆重叠 输出是重叠圆的 2 元素集的列表 我知道如何检查两个圆是否重叠 它们的中心之间的距离小于直径 我可以对每对圆圈执行此检查 但我想知道是否有更好的算法 比O n 2 EDIT
  • 用于 iOS 开发的 Objective-C++

    是否可以使用 Objective C 进行 iOS 应用程序 iPhone iPad iPod touch 开发 网上有例子和源代码吗 使用 ObjC 非常简单 您必须声明扩展名为 mm 的源文件 它将使编译器将它们视为 ObjC 与标头相
  • 在Eclipse中用subversion填充@version标签

    我想在 Eclipse 中使用 Subclipse 或 Subversion 填充注释标签 version CVS 会自动完成此操作 但 Subversion 不会 这会很有帮助 我尝试用谷歌搜索 version 但似乎不可能 CVS 所做
  • Puppeteer:如何单击元素以便在新选项卡中打开?

    我有一个包含 25 个可点击元素的列表 我需要在新选项卡中打开它们中的每一个 抓取在新选项卡中打开的新页面 然后将其关闭 然后转到下一个元素 并对列表中的每个元素执行相同的操作 但是 我在通过单击链接在新选项卡中打开链接时遇到问题 然后我设
  • 验证 mongoose 中父级范围内嵌入文档的唯一性

    我在猫鼬中有以下架构 UserSchema new Schema username type String required true GameSchema new Schema identifier String users UserSc
  • 是否可以防止从网站下载视频

    是否可以防止网站上的视频被下载 虽然用户可以使用某些硬件设备录制视频 但不可能使用某些链接下载视频 就像谷歌视频一样 例如 如果我的系统中有 Real One Player 我可以选择下载视频 这应该受到限制 是的 永远不要向任何人展示它
  • 核心数据实体继承 --> 限制?

    我想我会把这个发布到社区 我正在使用 coredata 并且有两个实体 两个实体都具有层级关系 我现在注意到有很多重复的功能 并且想知道是否应该重新构建一个抽象的基本实体 HierarchicalObject 并让我的实体继承它们 所以问题
  • JavaScript 中的三元运算符具有多个表达式?

    the styles the styles appendTo head the styles null the styles stylesheet detach 显然 这是无效的 注意 在 之间appendTo and the styles
  • python:获取长度为N的空格字符串的最简单方法

    在Python中生成长度为N的空格字符串的最简单方法是什么 除了像这样的东西 它是多行的 并且对于大 n 来说可能效率低下 def spaces n s for i in range n s return s 试试这个 简单 只有一行 n
  • 对角线使用 putText() ?使用 OpenCV

    是否可以使用 putText 方法在图片上对角线绘制文本 如果没有 除了使用 addWeighted 将两张图片混合在一起 其中一张是对角放置的文本 之外 还有其他选择吗 我正在尝试在图片上放置文本水印 我的问题是现在我正在使用 addWe