OpenCV图像基本操作——图像合成

article/2025/9/18 12:06:11

实验要求

现有一张4通道透明图像a.png:从其中提取出alpha通道并显示;用alpha混合,为a.png替换一张新的背景(背景图自选)png格式图片多了一个通道来显示透明度,具体如下图所示:

图片:

 

背景图:

效果图:

 

 

读取png的 alpha通道数,然后使用下图的公式:

F=(1- \alpha)*back\_img+\alpha*img

将两张图片进行合成,其中imread("地址",-1),让第4个RGBA中的A通道,即为alpha通道,然后双重循环,遍历图片的像素,其中rows即行,cols即列,at(i,j)来遍历图片

 

代码:

#include <opencv2/opencv.hpp>
#include <iostream>
#include <cstdio>
using namespace std;
using namespace cv;int main()
{//读取透明图片Mat img = imread("G:\\图片\\图片1.png", -1);//-1使能读取第4个RGBA中的A通道,即为alpha通道Mat back_img = imread("G:\\图片\\图片4.png",-1);Mat mat(img.rows, img.cols, CV_8UC4);//#define CV_8UC4 CV_MAKETYPE(CV_8U,4)可以创建-----8位无符号的四通道---带透明色的RGB图像 for (int i = 0; i < img.rows; i++) {for (int j = 0; j < img.cols; j++) {//Mat::at()取值或改变某点的像素值比较耗时,可以采用Mat的模板子类Mat_<T>//Mat类中的at方法作用:用于获取图像矩阵某点的值或改变某点的值。double temp = img.at<Vec4b>(i, j)[3] / 255.0;mat.at<Vec4b>(i, j)[0] = (1 - temp)*back_img.at<Vec4b>(i, j)[0] + temp *img.at<Vec4b>(i, j)[0];mat.at<Vec4b>(i, j)[1] = (1 - temp)*back_img.at<Vec4b>(i, j)[1] + temp *img.at<Vec4b>(i, j)[1];mat.at<Vec4b>(i, j)[2] = (1 - temp)*back_img.at<Vec4b>(i, j)[2] + temp *img.at<Vec4b>(i, j)[2];mat.at<Vec4b>(i, j)[3] = (1 - temp)*back_img.at<Vec4b>(i, j)[3] + temp *img.at<Vec4b>(i, j)[3];}}namedWindow("alpha混合图像");imshow("alpha混合图像", mat);waitKey();return 0;
}

 

 

 

 

 

 

 

 


http://chatgpt.dhexx.cn/article/qGJkDorO.shtml

相关文章

html5 合成两张图片,HTML5 Canvas笔记——图像合成

编程展示各种图像的合成效果&#xff0c;效果的名称图像合成 #canvas { border: 1px solid cornflowerblue; position: absolute; left: 150px; top: 10px; background: #eeeeee; border: thin solid #aaaaaa; cursor: pointer; -webkit-box-shadow: rgba(200, 200, 255, 0.9) …

HTML2CANVAS 合成图片

注&#xff1a;之前也写过一篇html2canvas&#xff0c;但是感觉大家不会意思到这个有什么用&#xff0c;所以就举个例子一个比较有趣的玩意&#xff0c;玩ps的同学都玩过图片合成&#xff0c;当然对图片的操作不只是ps的特权&#xff0c;使用html也是可以合成的&#xff0c;而且…

ImageMagicK之合成图片

ImageMagick http://www.imagemagick.org/script/command-line-options.php#wave http://www.netingcn.com/imagemagick-composite.html ImageMagicK能方便的把多张小图片合成一张大图片。合成的方式大致有三种, 使用convert命令加 append或-append参数使用convert命令加 …

CVPR2020:上交大让合成图像更真实,提出了通过域验证进行深度图像协调(开源)

作者 介绍 图像合成是图像处理中常用的操作。我们可以从一个图像中剪切并粘贴前景&#xff0c;然后将其粘贴到另一个图像上以获得合成图像。合成地图可以用来获取感兴趣的目标图像&#xff0c;也可以用于数据增强。它有着广泛的应用。然而&#xff0c;用这种方法得到的合成图存…

【合成图片】——Graphics2D

背景 在之前的文章当中我们已经说过【二维码】——生成解析&#xff0c;可是现实中需要将二维码合成到海报的指定位置中&#xff0c;这样来扩展我们的产品销售渠道&#xff0c;基于这样的一种需求我们就需要将之前的二维码合成到另外一张海报图片中&#xff0c;所以接下来说一…

Qt图像合成原理

Qt图像合成原理 本文为原创文章&#xff0c;转载请注明出处&#xff0c;或注明转载自“黄邦勇帅(原名&#xff1a;黄勇) 本文出自本人原创著作《Qt5.10 GUI完全参考手册》网盘地址&#xff1a; https://pan.baidu.com/s/1iqagt4SEC8PUYx6t3ku39Q 《C语法详解》网盘地址&#…

PHP图片与文字合成

public function coupon_image($coupon){$userName $coupon[username];//合成的文字$path public_path();//这里我的查找路径方法&#xff0c;你用你自己的即可ob_clean();$types array(1 > "gif", 2 > "jpeg", 3 > "png");//图片类…

PS素材合成照片

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、最终效果图二、过程1.素材2.工作面板 总结 前言 利用素材合成照片 工作环境&#xff1a;Photoshop2022、win10 一、最终效果图 二、过程 1.素材 图 图 …

JAVA (Graphics2D)解决合成图片失真问题

附对比图&#xff1a; 合成后失真严重 代码优化后&#xff1a; 原代码&#xff1a; 参数解释&#xff1a; 1. img为你需要把他合成到A图片上的B图片&#xff0c;以下简称为章 2. srcImagePath为A图片的绝对路径 3. targetPath为合成后的图片输出路径 4. x,y为章需要合成到…

Java实现图片合成

功能 竖向合成多张大小不一致的图片,以最宽图片的为宽为合成后的宽度, 高为所有图片的总高度.图片宽度没有达到合成的宽度则填充部分使用白色画布填充. 代码 /*** 多张图片进行竖向合并成一张图片* param imageFiles 图片文件* param dstPath 合成图片路径* param hasLine 是…

html5 图片合成,H5案例分享:图片合成

图片合成 图片合成是h5案例中常用的展现方式,成功案例也有很多,譬如: 今天,小五就一个小demo来和大家磨叨磨叨图片合成的具体实现方法。 一、界面样式: 二、所用技术: easeljs + interact.js,easeljs是方便对canvas进行操作,interact.js主要是用来调整图片的位置大小的…

Python照片合成

文章目录 前言Github效果实现过程整体代码 前言 看电影的时候发现一个照片墙的功能&#xff0c;觉得这样生成照片挺好玩的&#xff0c;于是就动手用Python做了一下&#xff0c;觉得用来作照片纪念的效果可能会不错。 P:后面了解到我想做的功能叫蒙太奇拼图&#xff0c;所以这…

Python:合成图片

简介&#xff1a;PIL库中Image库封装了很多对图片处理的函数&#xff0c;支持对图片进行合成等操作。 相关攻略&#xff1a; python: ocr简单示例 - 识别验证码 python&#xff1a;彩色照转黑白照 python&#xff1a;个性签名 Python&#xff1a;利用cv2模块对图片进行灰度…

如何编辑图片合成图片?让我们来看看这些合成方法

相信大家在日常出行的时候&#xff0c;都会遇到想要和自己的朋友合照这种情况&#xff0c;却会因为社恐而不敢去向他人求助或者不想麻烦他人。所以通常我们会在同一个场景中拍摄照片&#xff0c;然后通过后期编辑将这些图片组合在一起&#xff0c;那么有的朋友会问&#xff0c;…

信息流产品和内容推荐算法

&#xff08;一&#xff09;什么是信息流产品 当下&#xff0c;信息流&#xff08;资讯&#xff09;和短视频是唯一两个在用户领域保持好的增长事态的细分行业。像其他比较成熟的互联网细分行业&#xff0c;比如说移动社交&#xff0c;电商&#xff0c;OTO这个细分行业&#x…

O2O商城系统,适合本地电商发展的商城系统!

说起商城系统&#xff0c;最适合本地电商发展的要数O2O商城系统了&#xff0c;O2O商城系统有什么优势? 一、本地O2O商城系统对商家的好处 1、本地O2O商城系统对消费人群定位比较明确&#xff0c;针对性强&#xff0c;而且本地的人消费习惯都比较了解。这样也容易形成固定的…

[转]从本地电子商务中走出来,6个很好的O2O模式解析

谓O2O就是线上到线下&#xff08;Online to Offline&#xff09; 请看以下几个非常好的O2O模式&#xff1a; Uber Uber是一个允许你通过手机购买一个私家车搭乘服务的应用。其运作方式如下&#xff1a;下载Uber应用&#xff0c;发出打车请求&#xff1b;几分钟内一辆私家车来到…

Oauth2协议

Oauth2协议 Oauth2简介角色常用术语令牌类型特点 授权模式授权码模式&#xff08;Authorization Code&#xff09;简化授权模式&#xff08;Implicit&#xff09;密码模式&#xff08;Resource Owner PasswordCredentials&#xff09;客户端模式&#xff08;Client Credentials…

2021年中国医药O2O行业发展现状、发展问题及发展建议分析[图]

医药O2O模式指的是基于线下药店&#xff0c;利用现存资源&#xff0c;将门店的功能从售药转变为体验、提货和配送&#xff0c;贴合当地需求&#xff0c;完成和用户的最终接轨。 随着疫情防控成为常态化&#xff0c;医药电商与数字医疗也迎来了新的发展。医药的网上销售呈现出逐…

中国IT运维O2O市场发展研究及十四五前景规划分析报告2022-2027年

中国IT运维O2O市场发展研究及十四五前景规划分析报告2022-2027年 第1章:IT运维O2O的概念界定与内涵1.1 IT运维的概念界定与内涵 1.1.1 IT运维的概念 1.1.2 IT运维的演化历程 1.1.3 IT运维的内容 1.1.4 IT运维的流程 1.1.5 IT运维的价值 1.2 IT运维O2O的概念界定与内涵…