python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码

python opencv把一张图片嵌入(叠加)到另一张图片上

1、背景:

最近做了个烟火生成系统的界面设计,需要将烟雾图片嵌入到任意一张图片中,因此需要python opencv把一张图片嵌入(叠加)到另一张图片上的知识。(图中红框最终生成图片没有的,只是界面有这个功能)

2、代码

resized1[global_y0:height+global_y0, global_x0:weight+global_x0] = resized0

resized0是小图
resized1是大图,其他参数是左上点和右下点

3、效果图

工程中部分代码

这个是截取我pyqt5中部分代码,具体实现,可以借鉴一下

resized1 = cv.imread('temp0.jpg')#读取最开始读入的图片
    #cv.imshow('resized1-0.jpg', resized1)
    #cv.waitKey(10)
    img = cv.imread('output.jpg')#读取生成的烟雾图

    resized0 = cv.resize(img, (weight, height), interpolation=cv.INTER_AREA)
    #cv.imshow('resized0.jpg', resized0)
    #cv.waitKey(10)

    #嵌入图片,resized1是原图,resized0是烟雾图片,中括号内为嵌入的坐标
    resized1[global_y0:height+global_y0, global_x0:weight+global_x0] = resized0
    #cv.imshow('resized1.jpg', resized1)
    cv.imwrite('temp1.jpg', resized1)
    resized2 = resized1 # 将最终生成的图片复制到全局变量中,在保存按钮中进行保存
    #cv.imwrite('resized2.jpg', resized2)
    global final_picture # 此处声明该图片为全局变量
    final_picture=resized2 #将最终生成的图片复制到全局变量中,在保存按钮中进行保存
    #cv.imwrite('final_picture0.jpg', final_picture)
    #cv.waitKey(10)
    height, width, bytesPerComponent = resized1.shape #取彩色图片的长、宽、通道
    bytesPerLine = 3 * width
    cv.cvtColor(resized1, cv.COLOR_BGR2RGB, resized1)
    QImg = QImage(resized1.data, width, height, bytesPerLine,QImage.Format_RGB888)
    pixmap = QPixmap.fromImage(QImg)

    self.label_ShowPicture.setPixmap(pixmap)
    #self.label_ShowPicture.setPixmap(QPixmap("resized1.jpg"))
    self.label_ShowPicture.setCursor(Qt.CrossCursor)
    print("已经嵌入")

总结

到此这篇关于python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码的文章就介绍到这了,更多相关python opencv图片嵌入另一张图片上内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python Django搭建网站流程图解

    1. 创建Django REST framework工程 1.1手动创建工程文件夹 1.2进去工程文件夹内,执行命令:django-admin startproject web_project创建工程目录 1.3修改,添加目录结构 apps 存放Django的应用libs 存放第三方的库文件settings 存放配置文件的目录,分为开发dev和线上produtils 存放项目自己定义的公共函数或类等docs 用于存放一些说明文档资料 2. 修改配置文件 2.1 将Django工程中的settin

  • Python叠加矩形框图层2种方法及效果

    两种方式以及效果: 方式一,使用PIL.Image.blend方式: from PIL import Image, ImageDraw im = Image.open('d:/tmp/58.249.0.220_01_20200604141800866_TIMING.jpg', 'r') im2 = Image.open('d:/tmp/58.249.0.220_01_20200604141800866_TIMING.jpg', 'r') draw = ImageDraw.Draw(im2) dr

  • Python数据可视化图实现过程详解

    python画分布图代码示例: # encoding=utf-8 import matplotlib.pyplot as plt from pylab import * # 支持中文 mpl.rcParams['font.sans-serif'] = ['SimHei'] # 'mentioned0cluster', names = ['mentioned1cluster','mentioned2cluster', 'mentioned3cluster', 'mentioned4cluster'

  • Python基于wordcloud及jieba实现中国地图词云图

    热词图很酷炫,也非常适合热点事件,抓住重点,以图文结合的方式表现出来,很有冲击力.下面这段代码是制作热词图的,用到了以下技术: jieba,把文本分词 wordcloud,制作热图 chardet,辨别文件的编码格式,其中中文统一为GB18030,更加的兼容 imageio,提取图片的形状 其他:自动识别文件编码,自动识别txt文件,图片文件名与txt文件一致,使用的是四大名著的文本(自行百度),部分中国地图 上代码: import os import jieba import wordclou

  • Python Scrapy图片爬取原理及代码实例

    1.在爬虫文件中只需要解析提取出图片地址,然后将地址提交给管道 在管道文件对图片进行下载和持久化存储 class ImgSpider(scrapy.Spider): name = 'img' # allowed_domains = ['www.xxx.com'] start_urls = ['http://www.521609.com/daxuemeinv/'] url = 'http://www.521609.com/daxuemeinv/list8%d.html' pageNum = 1 d

  • python实现批量转换图片为黑白

    本文实例为大家分享了python批量转换图片为黑白的具体代码,供大家参考,具体内容如下 用到的库:OpenCV.os import cv2 import os def re_name(path): files = os.listdir(path) for i, file in enumerate(files): try: new_file_name = os.path.join(path, str(i) + '.jpg') old_file_name = os.path.join(path, f

  • Python Tkinter图形工具使用方法及实例解析

    Tkinter 常用组件 按钮 Button 按钮组件 RadioButton 单选框组件 CheckButton 选择按钮组件 Listbox 列表框组件 文本输组件 Entry 单行文本框组件 Text 多行文本框组件 标签组件 Label 标签组件,可以显示图片和文字 Message 标签组件, 可以根据内容将文字换行 菜单 Menu 菜单组件 MenuButton 菜单按钮组件,可以实用Menu代替 滚动条 Scale 滑动组件 Scrollbar 滚动条组件 其他组件 Canvas 画

  • Python matplotlib 绘制双Y轴曲线图的示例代码

    Matplotlib简介 Matplotlib是非常强大的python画图工具 Matplotlib可以画图线图.散点图.等高线图.条形图.柱形图.3D图形.图形动画等. Matplotlib安装 pip3 install matplotlib#python3 双X轴的 可以理解为共享y轴 ax1=ax.twiny() ax1=plt.twiny() 双Y轴的 可以理解为共享x轴 ax1=ax.twinx() ax1=plt.twinx() 自动生成一个例子 x = np.arange(0.,

  • Python数据相关系数矩阵和热力图轻松实现教程

    对其中的参数进行解释 plt.subplots(figsize=(9, 9))设置画面大小,会使得整个画面等比例放大的 sns.heapmap()这个当然是用来生成热力图的啦 df是DataFrame, pandas的这个类还是很常用的啦~ df.corr()就是得到这个dataframe的相关系数矩阵 把这个矩阵直接丢给sns.heapmap中做参数就好啦 sns.heapmap中annot=True,意思是显式热力图上的数值大小. sns.heapmap中square=True,意思是将图变

  • Python+OpenCV进行不规则多边形ROI区域提取

    多边形ROI,主要利用鼠标交互进行绘制: 1. 单击左键,选择多边形的点: 2. 单击右键,删除最近一次选择的点: 3. 单击中键,确定ROI区域并可视化. 4. 按”S“键,将多边形ROI区域的点保存到本地”config.pkl"文件中. 话不多说,以下是核心代码 import cv2 import numpy as np import joblib pts = [] # 用于存放点 # 统一的:mouse callback function def draw_roi(event, x, y,

  • python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码

    python opencv把一张图片嵌入(叠加)到另一张图片上 1.背景: 最近做了个烟火生成系统的界面设计,需要将烟雾图片嵌入到任意一张图片中,因此需要python opencv把一张图片嵌入(叠加)到另一张图片上的知识.(图中红框最终生成图片没有的,只是界面有这个功能) 2.代码 resized1[global_y0:height+global_y0, global_x0:weight+global_x0] = resized0 resized0是小图 resized1是大图,其他参数是左上

  • 使用python和opencv的mask实现抠图叠加

    背景照片: logo: 合成效果: 代码: import cv2 as cv, numpy as np # Load two images img1 = cv.imread('227351.jpg') # 背景 img2 = cv.imread('logo.png') # logo # I want to put logo on top-left corner, So I create a ROI rows,cols,channels = img2.shape roi = img1[0:rows

  • python Opencv计算图像相似度过程解析

    这篇文章主要介绍了python Opencv计算图像相似度过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.相关概念 一般我们人区分谁是谁,给物品分类,都是通过各种特征去辨别的,比如黑长直.大白腿.樱桃唇.瓜子脸.王麻子脸上有麻子,隔壁老王和儿子很像,但是儿子下巴涨了一颗痣和他妈一模一样,让你确定这是你儿子. 还有其他物品.什么桌子带腿.镜子反光能在里面倒影出东西,各种各样的特征,我们通过学习.归纳,自然而然能够很快识别分类出新物品.

  • 详解python opencv图像混合算术运算

    目录 图片相加 cv2.add() 按位运算 图片相加 cv2.add() 要叠加两张图片,可以用 cv2.add() 函数,相加两幅图片的形状(高度 / 宽度 / 通道数)必须相同.         numpy中可以直接用res = img + img1相加,但这两者的结果并不相同(看下边代码):         add()两个图片进行加和,大于255的使用255计数.         numpy会对结果取256(相当于255+1)的模: import numpy as np import c

  • Python+OpenCV实现六种常用图像特效

    目录 图像融合 灰度处理 颜色反转 灰度反转 彩色反转 马赛克效果 毛玻璃效果 浮雕效果 图像融合 按照一定的比例将两张图片融合在一起 addWeighted()方法: 参数1第一张图片矩阵 参数2第一张图片矩阵的权重 参数3第二张图片矩阵 参数4第二张图片矩阵的权重 融合之后的偏移量 进行叠加的两张图片宽高应该相同 叠加之后的像素偏移值如果填的话不要填太大,超过255会导致图像偏白 import cv2 import cv2 as cv img = cv.imread("img/lena.jp

  • Python+Opencv识别两张相似图片

    在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话题作为计算机科学的一个分支,不可能就在本文简单几句就说清,所以本文只作基本算法的科普向. 看到一篇博客是介绍这个,但他用的是PIL中的Image实现的,感觉比较麻烦,于是利用Opencv库进行了更简洁化的实现. 相关背景 要识别两张相似图像,我们从感性上来谈是怎么样的一个过程?首先我们会区分这两张相片的类型,例如是风景照,还是人物照.风景照中

  • Python OpenCV 直方图的计算与显示的方法示例

    本篇文章介绍如何用OpenCV Python来计算直方图,并简略介绍用NumPy和Matplotlib计算和绘制直方图 直方图的背景知识.用途什么的就直接略过去了.这里直接介绍方法. 计算并显示直方图 与C++中一样,在Python中调用的OpenCV直方图计算函数为cv2.calcHist. cv2.calcHist的原型为: cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate ]]) #返回his

  • python+opencv识别图片中的圆形

    本文实例为大家分享了python+opencv识别图片中足球的方法,供大家参考,具体内容如下 先补充下霍夫圆变换的几个参数知识: dp,用来检测圆心的累加器图像的分辨率于输入图像之比的倒数,且此参数允许创建一个比输入图像分辨率低的累加器.上述文字不好理解的话,来看例子吧.例如,如果dp= 1时,累加器和输入图像具有相同的分辨率.如果dp=2,累加器便有输入图像一半那么大的宽度和高度. minDist,为霍夫变换检测到的圆的圆心之间的最小距离,即让我们的算法能明显区分的两个不同圆之间的最小距离.这

  • python+opencv像素的加减和加权操作的实现

    本文介绍了python+opencv像素的加减和加权操作的实现,分享给大家. # 目标: # 1.在图像上进行算术操作,如加减以及按位操作 # 2.将会学会使用cv2.add(),cv2.addWeights() # 参考网站:https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_core/py_image_arithmetics/py_image_arithmetics.html#image-arithmetics import numpy

随机推荐