教程2_图像的合并及融合

dst = α⋅img1+β⋅img2+γdst = α⋅img1+β⋅img2+γ

在这里,γ 被视为0。

import cv2 as cv

img1 = cv.imread('img1.png')
img2 = cv.imread('opencv_logo.png')
dst = cv.addWeighted(img1,0.7,img2,0.3,0)
cv.imshow('dst',dst)
cv.waitKey(0)
cv.destroyAllWindows()

检查以下结果:

3、按位运算

这包括按位 AND、 ORNOT 和 XOR 操作。下面我们将看到一个例子,如何改变一个图像的特定区域。 我想在图像上方放置OpenCV徽标。如果添加两个图像,它将改变颜色。如果混合它,我将获得透明效果。但我希望它不透明。因此,您可以按如下所示进行按位操作:

# 导入OpenCV库,并给它一个简短的别名cv  
import cv2 as cv  
  
# 使用cv.imread方法加载两张图片,分别为'4.png'和'opencv_logo.png'  
# 将加载的图片分别存储在变量img1和img2中  
img1 = cv.imread('4.png')  
img2 = cv.imread('opencv_logo.png')  
  
# 获取logo图片(img2)的尺寸信息,即行数、列数和通道数  
# 将这些信息分别存储在变量rows, cols, channels中  
rows,cols,channels = img2.shape  
  
# 创建一个ROI(感兴趣区域),大小为logo图片的尺寸,位置为img1的左上角  
# 这里roi变量实际上是img1的左上角区域的一个视图,没有实际复制数据  
roi = img1[0:rows, 0:cols]  
  
# 将logo图片(img2)转换为灰度图像  
img2gray = cv.cvtColor(img2,cv.COLOR_BGR2GRAY)  
  
# 使用cv.threshold方法对灰度图像进行二值化处理  
# 设定阈值为10,当像素值大于或等于10时,设为255,否则为0  
# 使用cv.THRESH_BINARY作为阈值类型  
# 返回值ret为使用的实际阈值(在此处可能为10),mask为二值化后的掩码图像  
ret, mask = cv.threshold(img2gray, 10, 255, cv.THRESH_BINARY)  
  
# 对掩码图像进行位运算的“非”操作,得到其相反掩码  
# 原本为白色的logo区域在mask_inv中变为黑色,原本为黑色的背景在mask_inv中变为白色  
mask_inv = cv.bitwise_not(mask)  
  
# 使用位运算的“与”操作,将ROI中logo的区域涂黑  
# 因为mask_inv中logo区域是黑色,所以该操作实际上保留了ROI中的原背景  
img1_bg = cv.bitwise_and(roi,roi,mask = mask_inv)  
  
# 使用位运算的“与”操作,仅从logo图像中提取logo区域  
# 因为mask中logo区域是白色,所以该操作提取了logo的实际内容  
img2_fg = cv.bitwise_and(img2,img2,mask = mask)  
  
# 将提取的logo内容添加到之前处理过的ROI背景上  
# 使用cv.add方法将两者合并  
dst = cv.add(img1_bg,img2_fg)  
  
# 将合并后的图像放回原img1的对应位置,即左上角  
img1[0:rows, 0:cols] = dst  
  
# 显示处理后的图像  
cv.imshow('res',img1)  
  
# 等待用户按键,参数0表示无限等待  
cv.waitKey(0)  
  
# 销毁所有OpenCV窗口  
cv.destroyAllWindows()

检查以下结果:

 

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值