iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何使用python和opencv的mask实现抠图叠加
  • 765
分享到

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

2023-06-14 19:06:36 765人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

小编给大家分享一下如何使用python和OpenCV的mask实现抠图叠加,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Python的数据类型有哪些?python

小编给大家分享一下如何使用pythonOpenCV的mask实现抠图叠加,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Python的数据类型有哪些?

python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和float(浮点型)。2.字符串,分别是str类型和unicode类型。3.布尔型,Python布尔类型也是用于逻辑运算,有两个值:True(真)和False(假)。4.列表,列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型。5. 元组,元组用”()”标识,内部元素用逗号隔开。6. 字典,字典是一种键值对的集合。7. 集合,集合是一个无序的、不重复的数据组合。

背景照片:

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

loGo

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

合成效果:

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

代码:

import cv2 as cv, numpy as np# Load two imagesimg1 = cv.imread('227351.jpg') # 背景img2 = cv.imread('logo.png') # logo# I want to put logo on top-left corner, So I create a ROIrows,cols,channels = img2.shaperoi = img1[0:rows, 0:cols ]# Now create a mask of logo and create its inverse mask alsoimg2gray = cv.cvtColor(img2,cv.COLOR_BGR2GRAY)ret, mask = cv.threshold(img2gray, 254, 255, cv.THRESH_BINARY) # 这个254很重要mask_inv = cv.bitwise_not(mask)cv.imshow('mask',mask_inv)# Now black-out the area of logo in ROIimg1_bg = cv.bitwise_and(roi,roi,mask = mask) # 这里是mask,我参考的博文写反了,我改正了,费了不小劲# Take only region of logo from logo image.img2_fg = cv.bitwise_and(img2,img2,mask = mask_inv) # 这里才是mask_inv# Put logo in ROI and modify the main imagedst = cv.add(img1_bg,img2_fg)img1[0:rows, 0:cols ] = dstcv.imshow('res',img1)cv.waiTKEy(0)cv.destroyAllwindows()

补充:python opencv中的mask(遮罩inRange)的使用

可以看看我的注解

import cv2import numpy as npimg = cv2.imread('IMG_0307.jpg')orange_lower = np.array([11,43,46])orange_upper = np.array([25,255,255]) #颜色色域img_hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV) #注意 一定要转换为hsv mask = cv2.inRange(img_hsv,orange_lower,orange_upper) #mask 启动mask = cv2.erode(mask,None,iterations=2) mask = cv2.GaussianBlur(mask,(3,3),0)#erode 和 GaussianBlur 是用来使得图片或视频更加模糊的 这样可以使得色彩突出更加明显,#色彩追踪也会更加精准cv2.imshow('mask',mask)cv2.imshow('img',img)cv2.waitKey()

使用opencv来处理图片的颜色,需要使用mask 遮罩来使得所需要的颜色被保留,不需要的颜色就隐藏掉。

在上面的代码中我设置的是用mask来遮住除了橘色之外的所有颜色

颜色参数就是orange_lower 和 orange_upper

以上是“如何使用python和opencv的mask实现抠图叠加”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网Python频道!

--结束END--

本文标题: 如何使用python和opencv的mask实现抠图叠加

本文链接: https://www.lsjlt.com/news/274626.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用python和opencv的mask实现抠图叠加
    背景照片: logo: 合成效果: 代码: import cv2 as cv, numpy as np # Load two images img1 = cv.imread...
    99+
    2024-04-02
  • 如何使用python和opencv的mask实现抠图叠加
    小编给大家分享一下如何使用python和opencv的mask实现抠图叠加,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python的数据类型有哪些python的...
    99+
    2023-06-14
  • OpenCV如何使用GrabCut实现抠图功能
    这篇文章主要介绍“OpenCV如何使用GrabCut实现抠图功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“OpenCV如何使用GrabCut实现抠图功能”文章能帮助大家解决问题。1、概述案例:使...
    99+
    2023-07-05
  • opencv-python图像配准(匹配和叠加)的实现
    图像配准需是指对不同条件下得到的两幅或多幅图像进行匹配、叠加的过程。最简单的做法就是求得原图像到目标图像之间的透视变换矩阵,将原图像按照矩阵进行变换,就可以得到和目标图像相似的效果。...
    99+
    2024-04-02
  • Python抠图:使用OpenCV实现背景去除
    一、了解抠图和OpenCV库 抠图(Matting)是图像处理领域的重要任务之一,旨在将对象与其它部分分离。OpenCV是一个开源计算机视觉库,它提供了丰富的函数和工具进行图像编辑处理,可以简单而快速地实现抠图功能,同时可以进行更多的图像处...
    99+
    2023-09-28
    python opencv 开发语言
  • C++ opencv如何利用grabCut算法实现抠图
    今天小编给大家分享一下C++ opencv如何利用grabCut算法实现抠图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2023-06-30
  • Opencv图像处理中如何使用mask
    这篇文章将为大家详细讲解有关Opencv图像处理中如何使用mask,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。图像基本运算图像的基本运算有很多种,比如两幅图像可以相加、相减、相乘、相除、位运算、平方根、...
    99+
    2023-06-14
  • OpenCV中怎么使用GrabCut实现抠图功能
    这篇文章主要讲解了“OpenCV中怎么使用GrabCut实现抠图功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“OpenCV中怎么使用GrabCut实现抠图功能”吧!1、概述grabCut...
    99+
    2023-07-05
  • HTML5如何实现图层的叠加
    这篇文章主要介绍了HTML5如何实现图层的叠加,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。position语法:position : static absolute rel...
    99+
    2023-06-09
  • python中opencv图像叠加、图像融合、按位操作的具体实现
    目录1图像叠加 2图像融合 3按位操作 1图像叠加 可以通过OpenCV函数cv.add()或简单地通过numpy操作添加两个图像,res = img1 + img2.两个图像应该...
    99+
    2024-04-02
  • HTML5 Canvas如何实现图形叠加
    这篇文章将为大家详细讲解有关HTML5 Canvas如何实现图形叠加,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 在Canvas中有12个组合类型,这些类型用属性gl...
    99+
    2024-04-02
  • python中opencv怎么实现图像叠加、图像融合、按位操作
    本篇内容介绍了“python中opencv怎么实现图像叠加、图像融合、按位操作”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录1图像叠加2...
    99+
    2023-06-20
  • Python OpenCV超详细讲解图像堆叠的实现
    目录准备工作水平堆叠垂直堆叠图像栈堆叠准备工作 右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库,import num...
    99+
    2024-04-02
  • 如何使用python opencv实现灰度图和彩色图的互相转换
    这篇文章将为大家详细讲解有关如何使用python opencv实现灰度图和彩色图的互相转换,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。opencv灰度图和彩色图互相转换如果摄像头本来就得到3维...
    99+
    2023-06-28
  • 如何使用五行Python代码轻松实现批量抠图
    目录前言准备工作代码实现补充:可能遇到的坑总结前言 你是否曾经想将某张照片中的人物抠出来,然后拼接到其他图片上去,从而可以即使你在天涯海角,我也可以到此一游? 专业点的人使用 Pho...
    99+
    2024-04-02
  • 如何利用一行python代码实现灰度图抠图
    这篇“如何利用一行python代码实现灰度图抠图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何利用一行python代码实...
    99+
    2023-06-30
  • Python PyQt5如何实现高效抠图去背景
    这篇文章主要介绍了Python PyQt5如何实现高效抠图去背景,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。简介结合学习的PyQt5,弄点小项目,做次记录。此项目是使用了r...
    99+
    2023-06-25
  • 如何利用Opencv实现图像的加密解密
    目录1、基础:基于异或操作实现图像加密解密Opencv-python代码实现效果展示:2、进阶:基于混沌序列构成异或模板实现图像加密解密结果展示:总结1、基础:基于异或操作实现图像加...
    99+
    2024-04-02
  • 如何使用OpenCV实现图像增强
    本篇内容介绍了“如何使用OpenCV实现图像增强”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本期将介绍如何通过图像处理从低分辨率/模糊/低...
    99+
    2023-06-20
  • python实现图片加文字水印OPenCV和PIL库
    目录一:openCV给图片添加水印二:使用PIL给图片添加水印在python中我们可以使用openCV给图片添加水印,这里注意openCV无法添加汉字水印,添加汉字水印上可使用PIL...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作