在 OpenCV 中使颜色完全透明

2023-12-08

我有一个基本的 png 文件,其中有两种颜色:绿色和洋红色。我想要做的是获取所有洋红色像素并使它们透明,以便我可以将图像合并到另一个图像中。

一个例子是,如果我有一个洋红色背景上的 2D 角色的图像文件。我会删除背景中的所有洋红色,使其透明。从那里,我只需拍摄角色的图像并将其添加为另一个图像中的图层,这样看起来角色已被放置在环境中。

提前致谢。


这就是我要使用的代码,

首先,加载您的图像:

IplImage *myImage;
myImage = cvLoadImage("/path/of/your/image.jpg");

然后使用这样的蒙版来选择颜色,您应该参考文档。在下面,我想选择蓝色(不要忘记在 OpenCV 中图像是 BGR 格式,因此 125,0,0 是蓝色(它对应于下限),255,127,127 是具有一定容差的蓝色,是上限。 我选择了带有公差的下限和上限来获取图像的所有蓝色,但你可以选择任何你想要的......

cvInRangeS(image, 
           cvScalar(125.0, 0.0, 0.0), 
           cvScalar(255.0, 127.0, 127.0), 
           mask
           );

现在我们已经选择了蒙版,让我们反转它(因为我们不想保留蒙版,而是删除它)

cvNot(mask, mask);

然后用蒙版复制你的图像,

IplImage *myImageWithTransparency; //You may need to initialize it before
cvCopy(myImage,myImageWithTransparency,mask);

希望它能有所帮助,

请参阅 OpenCV 文档以获取更多信息

这里是

Julien,

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

在 OpenCV 中使颜色完全透明 的相关文章

  • EF Core Group By 翻译支持条件总和

    听说 EF Core 2 1 将支持翻译小组 我感到非常兴奋 我下载了预览版并开始测试它 但发现我在很多地方仍然没有得到翻译分组 在下面的代码片段中 对 TotalFlagCases 的查询将阻止翻译分组工作 无论如何 我可以重写这个以便我
  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • Getopts 不带破折号地标记错误选项

    Getopt Long Configure no pass through my opts GetOptions opts opt1 s opt2 s opt3 test pl bad option without dash 当传递一个不带
  • SAX 解析“&”字符[重复]

    这个问题在这里已经有答案了 当我尝试解析 char 时 我在 SAX 解析中遇到问题 所有其他特殊字符都会在 SAX 解析器中自动解析 但我在 字符中遇到问题 有人请给我建议吗 首先 我将来自 Web 服务的 XML 保存到一个字符串中 并
  • Angular 2:在引导之前调用服务

    当引导我的 Angular 2 v2 4 时 我尝试运行一个函数 该函数将在应用程序加载之前自动授权用户 然而 这似乎不起作用 import platformBrowserDynamic from angular platform brow
  • 让docker使用IPv4进行端口绑定

    我有 docker 主机 里面有一个容器 docker 主机仅在 IPv6 接口上绑定端口 而不在 IPv4 上绑定端口 这是输出 tcp 0 0 0 0 0 0 22 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 5508
  • 使用 PHP 处理退回邮件?

    这是我的场景 我有 2 个电子邮件帐户 电子邮件受保护 and 电子邮件受保护 我想向我的所有用户发送电子邮件 电子邮件受保护 但然后 回复 电子邮件受保护 到目前为止 我的 PHP 脚本可以处理它 当邮件无法发送时 会发送至 电子邮件受保
  • Android 保存的图像质量低

    我通过下面的代码拍照并保存到 SD 卡 但它生成的图片质量很低 即使是 100 质量 也非常小 也许 bitmap compress 不是正确的方法 或者根本不是位图 这是我的代码 public class TakePhoto extend
  • 为什么在这个绝对的程序中没有显示积极的条款

    让我们从这个演示开始 include
  • java+Swing:矩形或其他“精灵”的高效叠加

    我不太确定如何表达这一点 所以请耐心等待 我有两个JPanels 在一个容器中JPanel与OverlayLayout Both JPanel容器中的 s 覆盖paint Graphics 底端JPanel是不透明的并且绘制了一些相当复杂的
  • TextBlock 的默认高度是多少?

    在 Silverlight 和 WPF 中 TextBlock 是否有默认高度 如果有 它是什么
  • CMake 未检测到 GCC 包含标头(使用“-include”)更改

    我观察到奇怪的 CMake 行为 如果我的项目有一个头文件包含到所有源使用 include inc h借助于ADD COMPILE OPTIONS include inc h 然后命令更改为从未检测到的标头 这意味着我可以更改标头 但 CM
  • 使用 OpenCV 中的轮廓点从源图像创建图像?

    我必须在图像中找到正方形 然后创建检测到的正方形的单独图像 到目前为止 我能够检测到正方形并根据四个点获取其轮廓 Problem 当我使用 ROI 创建图像时 我也得到了不存在正方形的背景 我想删除该区域并只想保留与正方形相关的区域 你想用
  • 清理 MySQL 用户参数

    What are the dangerous characters that should be replaced in user input when the users input will be inserted in a MySQL
  • 使用脚本格式化 googlesheet 单元格中的文本

    我有一个谷歌工作表 它在单元格中格式化了文本 有些文字有颜色并且是粗体的 我使用谷歌脚本在单元格中添加新内容 当我运行脚本时 会添加新内容 但会删除旧内容的格式 1 如何在执行脚本时保留旧内容的格式 2 我想让新内容变得粗体和彩色 如何格式
  • Hive 相对于同一表中的其他数组列对数组列进行排序

    我在 hive 有一个表 有 2 列col1 array
  • 如何在 SQL Server 中不批量插入 Blob 并使用 ASP?

    我需要将文件上传到 SQL Server 数据库 我需要一个不涉及的解决方案bulk插入 Set ObjStr Server CreateObject ADODB Stream ObjStr Type 1 AdBinary ObjStr O
  • 基于目录数量的动态作业

    是否可以在 Azure DevOps 管道中创建动态作业 我有一个场景 其中我有多个用于部署的目录 目录的数量将是动态的 例如 它可以有 1 个用于部署的应用程序 也可以有多个 我想要做的是创建一个动态数量的作业 其中应该运行cd app
  • 使用 :nth-child 选择嵌套元素

    我在定位嵌套元素时遇到问题 nth child 选择器 我怎样才能瞄准第二个和第三个 service service nth child 2 styles service nth child 3 styles div class banne
  • 如何使用 Jackson 删除 Java 中的空 json 节点?

    我是一名初级 Java 程序员 所以如果我的问题有点愚蠢 我很抱歉 我有一个 JSON 对象 如下所示 element1 generated name 1 a isReady false generated name 2 generated
  • 从一个文件读取行并写入另一个文件,但删除包含特定字符串的行

    我正在尝试从文本文件中读取文本 读取行 删除包含特定字符串的行 在本例中为 坏 和 顽皮 我写的代码是这样的 infile file oldfile txt newopen open newfile txt w for line in in
  • 在 OpenCV 中使颜色完全透明

    我有一个基本的 png 文件 其中有两种颜色 绿色和洋红色 我想要做的是获取所有洋红色像素并使它们透明 以便我可以将图像合并到另一个图像中 一个例子是 如果我有一个洋红色背景上的 2D 角色的图像文件 我会删除背景中的所有洋红色 使其透明