OpenCV绘制透明底的图片,简单易懂讲解alpha通道怎么用

2023-10-30

今天忽然想做抠图和图形绘制,那这里就涉及到一个透明底的问题

OpenCV是很强大的,但是网上大多教程并没有讲清楚 alpha 通道的参数怎么设置

首先我们来看最简单的非 alpha 通道代码:

import numpy as np
import cv2

# 初始化一块400*400的画布,注意这里的画布是三通道的,也就是彩色图像
image = np.zeros((400, 400, 3), dtype="uint8")

# 画一条绿线
green = (0, 255, 0)
# 起点(0, 0)至终点(400, 400),颜色绿色,线宽默认为1个像素
cv2.line(image, (0, 0), (400, 400), green)
cv2.imwrite("image.png", image)

效果如下:
在这里插入图片描述
然后我们加上 alpha 通道

import numpy as np
import cv2

# 初始化一块400*400的画布,注意这里的画布是4通道的,多了 alpha 通道
image = np.zeros((400, 400, 4), dtype="uint8")

# 画一条绿线,这里第4个就是 alpha 通道的值,0 为完全透明,255 为不透明
green = (0, 255, 0, 255)
green_light = (0, 255, 0, 100)
# 起点(0, 0)至终点(400, 400),颜色绿色,线宽设置为5看得清楚些
cv2.line(image, (0, 0), (400, 400), green,5)
cv2.line(image, (200, 0), (200, 400), green_light,5)
cv2.imwrite("image_light.png", image)

效果如下:
在这里插入图片描述

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

OpenCV绘制透明底的图片,简单易懂讲解alpha通道怎么用 的相关文章

  • cv2.drawContours() - 取消填充字符内的圆圈(Python,OpenCV)

    根据 Silencer的建议 我使用了他发布的代码here https stackoverflow com questions 48244328 copy shape to blank canvas opencv python 482465
  • OpenCV Mat 和 Leptonica Pix 之间的转换

    我需要在 C 中在 OpenCV Mat 图像和 Leptonica Pix 图像格式之间进行转换 这用于 8 位灰度图像的二值化 我发现发现了 ikaliga的回答 https stackoverflow com a 25929320 2
  • OpenCV SIFT 描述符关键点半径

    我正在深入研究OpenCV的SIFT描述符提取的实现 https github com Itseez opencv blob master modules nonfree src sift cpp 我发现了一些令人费解的代码来获取兴趣点邻域
  • 图像梯度角计算

    我实际上是按照论文的说明进行操作的 输入应该是二进制 边缘 图像 输出应该是一个新图像 并根据论文中的说明进行了修改 我对指令的理解是 获取边缘图像的梯度图像并对其进行修改 并使用修改后的梯度创建一个新图像 因此 在 MATLAB Open
  • OpenCv读/写视频色差

    我试图简单地使用 openCV 打开视频 处理帧并将处理后的帧写入新的视频文件 我的问题是 即使我根本不处理帧 只是打开视频 使用 VideoCapture 读取帧并使用 VideoWriter 将它们写入新文件 输出文件看起来比输入更 绿
  • Python:Urllib2 和 OpenCV

    我有一个程序 可以将图像保存在本地目录中 然后从该目录中读取图像 但我不想保存图像 我想直接从url读取它 这是我的代码 import cv2 cv as cv import urllib2 url http cache2 allposte
  • opencv水印周围的轮廓

    我想在图像中的水印周围画一个框 我已经提取了水印并找到了轮廓 但是 不会在水印周围绘制轮廓 轮廓是在我的整个图像上绘制的 请帮我提供正确的代码 轮廓坐标的输出为 array 0 0 0 634 450 634 450 0 dtype int
  • 如何检测斑点并将其裁剪成 png 文件?

    我一直在开发一个网络应用程序 我陷入了一个有问题的问题 我会尝试解释我想要做什么 在这里您看到第一个大图像 其中有绿色形状 我想要做的是将这些形状裁剪成不同的 png 文件 并使它们的背景透明 就像大图像下面的示例裁剪图像一样 第一张图像将
  • opencv中如何去除二值图像噪声?

    将图像转换为二值图像 黑白 后如果有任何噪音怎么办 我消除了那些不需要的噪音 您可以看到下图的黑色区域内有一些白噪声 我该如何去除噪声 使用opencv http img857 imageshack us img857 999 blackn
  • 在Python中从整个图像中检测表格部分

    我有一张尺寸为 3500x5000 的图像 现在我只想检测整个图像中的表格部分 如果不能直接进行 OCR 处理 则对其进行裁剪和旋转 经过所有搜索后 我想到了使用裁剪图像中的每个单元格的想法https medium com coinmonk
  • Opencv 对象检测:ORB GPU 检测器和 SURF GPU 描述符提取器

    我只是做了一个小实验来尝试不同的检测器 描述符组合 我的代码使用 ORB GPU 检测器来检测特征 并使用 SURF GPU 描述符来计算描述符 我使用 BruteForceMatcher GPU 来匹配描述符 并使用 knnMatch 方
  • 如何用OpenCV解决图像处理相机IO延迟

    我有一个 OpenCV 程序 其工作原理如下 VideoCapture cap 0 Mat frame while true cap gt gt frame myprocess frame 问题是如果myprocess耗时较长 超过相机的I
  • 在 opencv 中一次性将旋转和平移结合起来

    我有一段用于旋转和平移图像的代码 Point2f pt 0 in rows double angle atan trans c trans b 180 M PI Mat r getRotationMatrix2D pt angle 1 0
  • 静态 OpenCV 库中未定义的引用

    我有一个使用 OpenCV 3 1 的 C 项目 并且使用共享库可以正常工作 但现在我想使用静态库 位于项目目录中的文件夹中 来编译它 因为我希望能够在未安装 OpenCV 的情况下导出它 如果需要还可以编辑和重新编译 这次我重新编译了 O
  • Haar级联正例图像大小调整

    我正在迈出第一步 为自定义对象识别创建 haar 级联 我花了时间获取大量数据并编写了一些预处理脚本以将视频转换为帧 我的下一步是裁剪感兴趣的对象 以创建一些积极的训练示例 我有几个问题 我确实在网上寻找答案 我有点困惑 我读到我应该致力于
  • 在 virtualenvwrapper 中激活环境

    我安装了virtualenv and virtualenvwrapper用这个命令我创建了一个环境 mkvirtualenv cv 它有效 创建后我就处于新环境中 现在我重新启动了我的电脑 我想activate又是那个环境 但是怎么样 我使
  • 在Spyder(Python 3.6)中导入cv2时出现导入错误

    我已经在Windows操作系统中安装了opencv 3 0 0 我已运行该应用程序并已成功将其安装在C 驱动器并还复制了cv2 pyd文件输入C Python27 Lib site packages正如我在几个教程视频中看到的那样 在我的
  • 从基本矩阵中查找单应矩阵

    我正在尝试计算单应性矩阵H给定一组对应关系和基本矩阵F 根据对极几何原理 我知道这可以通过对极线和对极线的叉积来完成F from 极点几何 http www cs unc edu marc tutorial node44 html e ij
  • OpenCV 中的 Canny 可以同时处理灰度图像和彩色图像吗?

    我有一些关于Canny 边缘检测器 in OpenCV 这是我尝试过的代码 def auto canny image sigma 0 33 v np median image lower int max 0 1 0 sigma v uppe
  • 使用“const cv::Mat &”、“cv::Mat &”、“cv::Mat”或“const cv::Mat”作为函数参数的区别?

    我已经彻底搜索过 但没有找到一个简单的答案 传递 opencv 矩阵 cv Mat 作为函数的参数 我们传递一个智能指针 我们对函数内部的输入矩阵所做的任何更改也会改变函数范围之外的矩阵 我读到 通过将矩阵作为 const 引用传递 它不会

随机推荐

  • 各种基类型的最值

    C头文件limits h和float h分别提供了浮点型和整型的一些数值限制详细信息 常量符号 含义 CHAR BIT char类型位数 CHAR MAX char类型最大值 CHAR MIN char类型最小值 SCHAR MAX 有符号
  • STM32F407ZGT6使用SDIO方式驱动SD卡

    STM32F407ZGT6使用SDIO方式驱动SD卡 简介 SDIO 移植操作 简介 本文主要讲解的是移植官方固件库 V1 5 1 中是SDIO来驱动SD卡 SDIO SDIO接口是在SD内存卡接口的基础上发展起来的接口 SDIO接口兼容以
  • MySQL(更新中)

    目录 一 MYSQL特点 二 数据库分类 A 关系型数据库 RDBMS B 非关系型数据库 NOSQL 三 SQL语言 一 DDL Data Definition Language 二 数据类型 三 DML insert update de
  • DDR中的一些知识点说明(ODT,ZQ校准,OCT,TDQS)

    ODT On DieTermination 片内终结 ODT 也是 DDR2 相对于 DDR1 的关键技术突破 所谓的终结 端接 就是让信号被电路的终端吸 收掉 而不会在电路上形成反射 造成对后面信号的影响 顾名思义 ODT 就是将端接电阻
  • 翻转链表

    前言 反转链表是程序员必备的基本素养 经常在面试 笔试的过程中出现 一直觉得反转链表实现代码不是很好理解 决定搬leetcode那道经典反转链表题出来 用十多张图去解析它 希望加深大家对链表反转的理解 谢谢阅读 leetcode的反转链表原
  • 添加SearchView控件时飘红的问题

    写代码的时候遇到一个问题 就是在layout的xml文件里添加SearchView控件时 xml代码飘红 像这样 点出红色小灯泡 系统建议我 这两个dependencies我都添加上了 但是无效 还是只能选择带包名的控件 经过一番排查 发现
  • 麒麟系统安装打印机共享_银河麒麟 惠普打印机驱动怎么安装

    银河麒麟 惠普打印机驱动怎么安装 相信很多小伙伴在日常办公中都会用到打印机 如果我们想要在电脑中安装打印驱动该怎么做呢 方法很简单 下面小编就来为大家介绍 具体如下 1 首先 在电脑中下载打印机相对应的驱动程序 在打印机对应品牌的官网中都能
  • 微信小程序实战须知2:详解数据API所需网络配置域名、Https、备案、SSL

    网络通信 小程序请求数据API时比较头疼 不能用想当然方式进行学习 服务器域名 IP HTTPS 域名1 域名 Domain Name 又称网域 是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称 用于在数据传输时对
  • flutter 实现消息提醒弹窗

    现在做了类似QQ的消息样式 弹窗消失 就显示创建对象 弹窗不消失就用eventbus刷新数据 重置时间五秒消失 true可以显示 false不可以显示 当点击第一个tab时false 当聊天界面返回用户ID是上面ID返回false 当退出聊
  • 小女生的Linux技术~~~Linux面试题汇总答案~~

    一 填空题 1 在Linux系统中 以 文件 方式访问设备 2 Linux内核引导时 从文件 etc fstab 中读取要加载的文件系统 3 Linux文件系统中每个文件用 i节点 来标识 4 全部磁盘块由四个部分组成 分别为引导块 专用块
  • Webpack打包之坑 _ webpackChunkName【魔法注释】

    目录 事件起因 百度查阅 webpackChunkName 结束了 事件起因 蒽 起因是这样的 项目从最初的使用 vue cli 脚手架搭建了一个初始化空架子之后就开始写项目了 也就是在刚开始的一段时间里偶尔有过几次打包查看 那时候还是能够
  • 四:SVM

    硬间隔最大化SVM SVM 介绍 SVM转化为最优解问题 KKT KKT图解 KKT定理 KKT例子 求解SVM最优化问题 拉格朗日对偶 拉格朗日对偶例子 用拉格朗日对偶解决问题 KKT在SVM中的意义 测试 SVM 介绍 SVM是一种分类
  • [Leetcode] 2. 两数相加

    题目描述 给定两个非空链表来表示两个非负整数 位数按照逆序方式存储 它们的每个节点只存储单个数字 将两数相加返回一个新的链表 你可以假设除了数字 0 之外 这两个数字都不会以零开头 示例 输入 2 gt 4 gt 3 5 gt 6 gt 4
  • 在 Linux 中配置 IPv4 和 IPv6 地址详解

    概要 IPv4和IPv6是Internet上常用的两种IP地址协议 在Linux系统中 您可以通过配置网络接口来设置IPv4和IPv6地址 本文将详细介绍如何在Linux中配置IPv4和IPv6地址 步骤 1 确定网络接口 在开始配置IP地
  • 视频监控安防平台-国标28181(GB28181)平台通过http请求获取rtsp地址再通过rtsp请求视频(HTTP服务转GB28181)

    视频监控安防平台 国标28181 GB28181 平台通过http请求获取rtsp地址再通过rtsp请求视频 HTTP服务转GB28181 最近在整理一些小型平台的功能 由原来的GB28181 RTSP小型平台改造成http服务 rtsp服
  • (小白学java)Java 变量类型

    Java 变量类型 Java 局部变量 实例变量 类变量 静态变量 int a b c 声明三个int型整数 a b c int d 3 e 4 f 5 声明三个整数并赋予初值 byte z 22 声明并初始化 z String s run
  • UNIX中文件权限与目录权限

    如下是UNIX系统中目录权限和文件权限的含义 TABLE 1 UNIX DIRECTORY Permissions WHO WHAT THE PERMISSIONS ALLOW USER Read r The account owner c
  • 短信验证功能、邮箱验证功能

    发送短信 需要借助第三方平台来发送短信 如阿里云 云通讯 对python3不友好 腾讯云 在这里用的是腾讯云来作为示例 腾讯云中短信准备工作 1 腾讯云官网注册 实名认证 登录 不废话 跳过 2 点击页面右上角 控制台 3 点击导航栏的云产
  • 初识直方图均衡化

    各位大家好 我是灿视 今天是一篇传统图像处理 直方图均衡 直方图均衡化 可以对在不同的光线条件下拍摄不同的图片进行均衡化处理 使得这些图片具有大致相同的光照条件 因此 我们可以用在训练模型之前 对图像进行对预处理 直方图均衡 1 直方图与对
  • OpenCV绘制透明底的图片,简单易懂讲解alpha通道怎么用

    今天忽然想做抠图和图形绘制 那这里就涉及到一个透明底的问题 OpenCV是很强大的 但是网上大多教程并没有讲清楚 alpha 通道的参数怎么设置 首先我们来看最简单的非 alpha 通道代码 import numpy as np impor