openCV:为 IplImage 添加透明度

2023-12-06

我有一个 3 通道 IplImage。我想创建一个 4 通道图像并将其 Alpha 通道设置为小于 1.0 的值以使其半透明。

首先,我将 alpha 通道(第 4 个通道)设置为 0.5:

cvSet(Image_c4, cvScalar(0,0,0,0.5);

这是我用来将 3 通道图像复制到 4 通道图像的命令。

cvCvtColor(Image_c3, Image_c4, CV_RGB2RGBA);

问题:Image_c3 是彩色的。 Image_c4 成为 Image_c3 的灰度副本(并且没有透明度)。

Update: 事实证明,上面的代码实际上是正确的并且有效,并且实际上比下面答案中建议的解决方案更简洁。我在其他地方遇到了一个不相关的错误。


也许还有另一种方法,但我添加了这样的透明度:

// BGR split
cvSplit(im1_bgr, im1_b, im1_g, im1_r, NULL);

// Alpha channel creation (transparency)
IplImage *im1_a = cvCreateImage(cvGetSize(im1_bgr), 8, 1);
// Set the alpha value
cvSet(im1_a, cvScalar(128), NULL);

// Merge the 4 channel to an BGRA image
IplImage *im1_bgra = cvCreateImage(cvGetSize(im1_bgr), 8, 4);
cvMerge(im1_b, im1_g, im1_r, im1_a, im1_bgra);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

openCV:为 IplImage 添加透明度 的相关文章

  • 如何使图像呈现出陈旧、布满灰尘、颜色褪色的外观?

    我有旧画的图像 这些画很旧 布满灰尘 颜色褪色 如图所示here https i stack imgur com xuoEF jpg 如何赋予任何图像这种 旧 外观 我找不到任何过滤器或 openCV 函数来实现这种类型的外观 EDIT 我
  • 在 Python 3.5 64 位上通过 pip 安装 OpenCV

    我尝试安装 OpenCV 但找不到任何合适的 pip 软件包 我决定上网查找有关如何安装它的官方文档 并发现this https opencv python tutroals readthedocs io en latest py tuto
  • bitblt 在 Windows 10 版本 1703 上失败 (15063.138)

    使用 Visual Studio 2017 vc141 以下代码应该从前游戏窗口获取屏幕截图 但现在它返回黑色和空白图像 唯一的游戏问题 尝试过 OpenGL 和 Vulkan ogl 返回黑色 vulkan 返回白色 在升级到 Windo
  • 使用 openCV 和 python 检测物体

    我正在尝试使用 OpenCV 和 Python 检测下图中的白点 我尝试使用函数 cv2 HoughCircles 但没有成功 我需要使用不同的方法吗 这是我的代码 import cv2 cv import numpy as np impo
  • OpenCV的拼接模块可以拼接平行运动相机拍摄的图像吗?

    我想知道是否缝合 http docs opencv org modules stitching doc stitching html http docs opencv org modules stitching doc stitching
  • 如何使用 Python 将我的 GoPro Hero 4 相机直播连接到 openCV?

    我在尝试从我的新 GoPro Hero 4 相机捕获实时流并使用 openCV 对其进行一些图像处理时遇到麻烦 这是我的试用 创建的窗口上没有显示任何内容 import cv2 import argparse import time imp
  • 在 QtCreator 中将 OpenCV 2.3 与 Qt 结合使用

    随着 OpenCV 2 3 版本终于发布 我想在我的系统上编译并安装这个最新版本 由于我经常使用 Qt 和 QtCreator 我当然希望能够在我的 Qt 项目中使用它 我已经尝试了几种方法几个小时 但总是出现错误 第一次尝试 使用WITH
  • Python中最相似的人脸识别

    如何使用Python和OpenCV来查找面部相似 我已成功使用 OpenCV 和 Python 使用 Haar Cascades 从多张照片中提取人脸 我现在有一个图像目录 所有这些都是不同人的面孔 我想做的是拍摄一张样本图像 然后看看它最
  • 我可以使用 openCV 比较两张不同图像上的两张脸吗?

    我对 openCV 很陌生 我看到它可以计算出脸部并返回一个矩形来指示脸部 我想知道 openCV 是否可以访问两张包含一张脸的图像 并且我希望 openCV 返回这两个人是否相同的可能性 Thanks OpenCV 不提供完整的人脸识别引
  • opencv形态扩张滤波器作为最大滤波器

    就像中值滤波器的定义一样 我可以将 最大滤波器 定义为局部窗口 例如dst x y max 3x3 局部窗口像素 但我在opencv中找不到这样的过滤器 最接近的是 dilate 函数 然后我使用 dilate 函数的默认配置 但结果不正确
  • OpenCV 3 中的 FLANN 错误

    我运行的是 Ubuntu 14 04 我正在尝试使用 openCV 3 运行 FLANN 但出现错误 下面的所有内容都是通过使用 AKAZE 和 ORB 进行尝试的 但代码来自我尝试使用 ORB 的情况 我使用 ORB 来查找描述符和关键点
  • BASH 脚本编译多个 C++ 文件 - OpenCV

    请参见在C 和OpenCV中调用其他文件中的函数 https stackoverflow com questions 24442836 call functions in other files in c and opencv 对于最初的问
  • 当我将鼠标移到 Mat 关键字上时,Visual Studio 2017 冻结(OpenCv 3.4.1)

    我想在 Visual Studio 2017 中开发 openCv 项目 我下载了 opencv 预构建库并进行了必要的设置 那是 1 我添加了系统路径 build x64 vc14 bin 2 在 Visual Studio 中的项目属性
  • OpenCV Visual Studio ntdll.dll

    我尝试在 Visual Studio 2013 上使用 OpenCV 2 4 10 创建一个项目 但由于以下异常 到目前为止我运气不佳 请建议帮助 TIA letstryitonemoretime exe Win32 Loaded C Us
  • OpenCV 2.3 与 VS 2008 - 鼠标事件

    强制性 我是新手 有一份涉及编程的工作 并且我一边工作一边自学 不用说 作为一名老师 我经常犯彻底的错误 我现在所处的位置 我创建了 Graph 类 它 令人惊讶的是 制作了图表 但现在我想通过单击鼠标来修改图形 但我似乎无法让鼠标处理程序
  • 从图像坐标获取对象的世界坐标

    I have been following this http docs opencv org modules calib3d doc camera calibration and 3d reconstruction html docume
  • minAreaRect OpenCV 返回的裁剪矩形 [Python]

    minAreaRectOpenCV 中返回一个旋转的矩形 如何裁剪矩形内图像的这部分 boxPoints返回旋转矩形的角点的坐标 以便可以通过循环框内的点来访问像素 但是在 Python 中是否有更快的裁剪方法 EDIT See code在
  • uri 警告中缺少端口:使用 Python OpenCV cv2.VideoCapture() 打开文件时出错

    当我尝试流式传输 ipcam 时 出现了如下所示的错误 tcp 000000000048c640 uri 中缺少端口 警告 打开文件时出错 build opencv modules videoio src cap ffmpeg impl h
  • 在 Visual Studio 2012 中安装 OpenCV

    我正在尝试安装 OpenCV 来与 Visual Studio 一起使用 我使用的是2012Pro版本 但我认为它应该与vs10相同 我正在关注这个教程 http docs opencv org doc tutorials introduc
  • cv2.VideoWriter:请求一个元组作为 Size 参数,然后拒绝它

    我正在使用 OpenCV 4 0 和 Python 3 7 创建延时视频 构造 VideoWriter 对象时 文档表示 Size 参数应该是一个元组 当我给它一个元组时 它拒绝它 当我尝试用其他东西替换它时 它不会接受它 因为它说参数不是

随机推荐

  • 告诉服务器用户不再上网

    我是node js新手 尝试使用node js和socket io开发群聊 我可以进行群聊 也可以管理系统中的数据 现在 我的问题是离线用户 即未连接到互联网 我有该用户的连接流 就像我执行receiverUserSocket emit s
  • MATLAB 中的邻近灰度依赖矩阵 (NGLDM)

    我想计算一些纹理特征 即 小 大数字强调 数字不均匀性 二阶矩和熵 这些可以从邻近灰度依赖矩阵计算出来 我正在努力理解 实施这一点 关于此方法的信息很少 公开可用 根据这张纸 This matrix takes the form of a
  • 大文件支持在 C 编程中不起作用

    我正在尝试编译一个共享对象 最终在Python中与ctypes一起使用 用于构建对象的命令行是 gcc Wall O3 shared Wl soname borg stream lm m128bit long double fPIC D F
  • Dagger 2 子组件与组件依赖关系

    匕首1号plus 方法是我在以前的应用程序中经常使用的方法 因此我理解您可能希望子组件能够完全访问父图绑定的情况 在什么情况下使用组件依赖代替子组件依赖为什么 组件依赖性 当您想要保持两个组件独立时使用此选项 子组件 当您想要保持两个组件耦
  • MySQL自动ID列

    我想知道如何让 MySQL 自动有一列为每行添加 1 第 1 行将具有 ID 1 第 2 行将获得 ID 2 等等 例如 每次新用户在网站上注册时 他们都会被分配一个 ID 号 从 1 开始 然后是 2 依此类推 ID 用户名 密码1 鲍勃
  • 如果没有可变状态,你怎么能做任何有用的事情呢?

    我最近读了很多关于函数式编程的东西 我能理解其中的大部分内容 但我无法理解的一件事是无状态编码 在我看来 通过删除可变状态来简化编程就像通过删除仪表板来 简化 汽车一样 成品可能会更简单 但祝你好运 让它与最终用户进行交互 我能想到的几乎每
  • 带有在线 MySql/Sql 数据库的 Xamarin Android 应用程序 [已关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想知道如何将 Android 应用程序与在线数据库连接 我在网上读了很多书 但我仍然悬而未决 我不知道哪种方法最好 我从谷歌看到了类似的东西SQL
  • 将 ItemizedOverlay 添加到我的地图视图

    我正在使用 osm 开发地图应用程序 我想在我的地图视图上创建一些标记 我正在使用以下代码 this mMyLocationOverlay new ItemizedOverlay
  • Pig 相当于 SQL GREATEST / LEAST?

    我试图找到相当于猪SQL 函数GREATEST and LEAST 这些函数是聚合 SQL 函数的标量等效项MAX and MIN 分别 本质上 我希望能够这样说 x LOAD file a b c csv USING PigStorage
  • DiggBar 是如何工作的?

    DiggBar 是如何工作的 我正在尝试制作 ASP NET MVC DiggBar 克隆 仅用于学习目的 有人对如何指定下框架内容的 url 有建议吗 您将如何在 MVC 中构建它 另外 我知道它是一个 iFrame 但他们如何定位它 以
  • 在Python模块中强制执行方法顺序[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 处理必须按一定顺序调用方法的模块的最 Pythonic 方法是什么 例如 我有一个 XML 配置 在执行其他操作之前必须读取该配置 因为该配置会影响行为 The parse config
  • Blazor OnAfterRenderAsync 混淆

    我理解这个想法OnAfterRenderAsyc 但我不明白如何实现我想要的 我有OnInitializedAsync 基本上从文件中获取摘要信息 之后 我想调用另外 2 个方法 并根据这 2 个方法返回的信息 我想将一些 HTML 添加到
  • 使用 Linq 获取 CDATA XML 部分

    我到处搜索寻找访问 CDATA 部分文本区域的方法 并发现使用 linq 的非常温暖的解决方案 我需要提取 CDATA 部分中嵌入的 XML 以便提取不同的信息 我有以下 XML
  • 为什么 JSTL 数字格式值不支持运行时表达式?

    我有这个代码
  • 使用 Javascript 检测 Chrome 操作系统

    我想用 Javascript 检测 Chrome 操作系统 并且我正在使用navigator userAgent为了这 现在 我正在运行 Chrome 操作系统 我的导航器 userAgent 是 Mozilla 5 0 X11 CrOS
  • 如何找到 ComboBoxItem 的 ParentComboBox?

    如何获取 ComboBoxItem 的 ParentComboBox 如果按下 Insert 键 我想关闭打开的组合框 var focusedElement Keyboard FocusedElement if focusedElement
  • 如何使 Laravel 的 Validator $rules 成为可选?

    假设我有User模型有两种方法 User php class User extends Eloquent Validation rules private static rules array user gt unique users re
  • Objective-C 中有一些文字字典或数组语法吗?

    总是可以使用 vararg 方法调用创建 NSArray 和 NSDictionaries NSNumber 例如 NSArray arrayWithObjects a b c nil 这些可以在 LLVM 和 Clang 的新改进中使用内
  • 实现react-bootstrap-typeahead的组合框行为

    我正在尝试使用react bootstrap typeahead控制 但我很惊讶试图让它做我想做的事 实际上 我的页面上有其中两个 其中一个正在执行真正的异步查找 另一个我几乎希望表现得像组合框 我想要做的是选择一个项目 然后单击下拉菜单改
  • openCV:为 IplImage 添加透明度

    我有一个 3 通道 IplImage 我想创建一个 4 通道图像并将其 Alpha 通道设置为小于 1 0 的值以使其半透明 首先 我将 alpha 通道 第 4 个通道 设置为 0 5 cvSet Image c4 cvScalar 0