一、掩膜 (Mask)

掩膜是用选定的图像、图形或物体,对要处理的图像进行遮挡,来控制图像 处理的区域

二、阈值 (Threshold)

设定的阈值,将灰度图像转换为二值图像

三、流程图

四、代码,结果

import cv2Dog = cv2.imread ('C:/Users/64679/Desktop/1.JPG')
CVlogo = cv2.imread ('C:/Users/64679/Desktop/2.JPG')CVlogoGray = cv2.cvtColor (CVlogo, cv2.COLOR_BGR2GRAY)  # 先将CVlogo转化为灰度图像Dog = cv2.resize (Dog, (320, 240))
CVlogo = cv2.resize (CVlogo, (320, 240))
CVlogoGray = cv2.resize (CVlogoGray, (320, 240))ret, BGMask = cv2.threshold (CVlogoGray, 200, 255,cv2.THRESH_BINARY)  # 将灰度图CVlogoGray中灰度值小于50的点置0,灰度值大于175的点置255(ret:阈值,BGMask:二值化的图像)BG = cv2.bitwise_and (Dog, Dog, BGMask, mask=BGMask)  # 背景
FGMask = cv2.bitwise_not (BGMask)  # 前景Mask
FG = cv2.bitwise_and (CVlogo, CVlogo, FGMask, mask=FGMask)  # 前景
FGMask=cv2.cvtColor(FGMask,cv2.COLOR_GRAY2BGR)
Final =cv2.add(Dog,FGMask)cv2.imshow ('dog', Dog)
cv2.imshow ('CVlogo', CVlogo)
cv2.imshow ('CVlogoGray', CVlogoGray)
cv2.imshow ('CVlogoMask', BGMask)
cv2.imshow ('BG', BG)
cv2.imshow ('FGMask', FGMask)
cv2.imshow ('FG', FG)
cv2.imshow('Final',Final)cv2.moveWindow ('dog', 0, 0)
cv2.moveWindow ('CVlogo', 0, 280)
cv2.moveWindow ('CVlogoGray', 350, 0)
cv2.moveWindow ('CVlogoMask', 350, 280)
cv2.moveWindow ('BG', 700, 0)
cv2.moveWindow ('FGMask', 700, 280)
cv2.moveWindow ('FG', 1050, 0)
cv2.moveWindow ('Final', 1050, 280)cv2.waitKey (0)
cv2.destroyAllWindows ()

五、改进(+Trackbar控制透明度)

openCV5-Threshold and Mask相关推荐

  1. Pygame详解(十八):mask 模块

    pygame.mask Pygame 中处理图形遮罩的模块. 函数 pygame.mask.from_surface()  --  从指定 Surface 对象中返回一个 Mask pygame.ma ...

  2. opencv4 图像无缝融合

    一:API函数介绍 OpenCV3.x的图像计算模块多了新算法API-无缝克隆(Seamless Cloning),主要是针对图像编辑,局部修改等应用场景实现迁移对象与原图像场景的无缝克隆.相关函数与 ...

  3. 使用OpenCV开发机器视觉项目

    每过几天就去看看OpenCV.org的更新,今天突然发现了一个有趣的东西.http://opencv.org/mastering-opencv-with-practical-computer-visi ...

  4. QT+OpenCV照片动画风格转换

    前言 用OpenCV将摄像头采集到的图片转换成动画风格,加上了QT界面.这个小实验并不复杂,后面直接贴代码. 代码 在QT creator中建的工程,只上部分比较重要的代码了,其他都是一样的. mai ...

  5. 吴恩达深度学习课程deeplearning.ai课程作业:Class 4 Week 3 Car detection

    吴恩达deeplearning.ai课程作业,自己写的答案. 补充说明: 1. 评论中总有人问为什么直接复制这些notebook运行不了?请不要直接复制粘贴,不可能运行通过的,这个只是notebook ...

  6. 【视觉项目】【day5】8.25号实验记录(修完BUG,28张测试图,13个样本,四张测试图误判,这比之前效果好很多了)

    目录 修改完BUG后的程序以及效果 优化思路,增强正确识别率(待验证) 修改完BUG后的程序以及效果 修改代码后的测试结果:(利用连通域面积将明显比本张测试图的瓶子要小的模板提前去除,减少误判) 这样 ...

  7. 【视觉项目】【day4】8.24号实验记录(消除瓶子内部“边缘”)

    思路分析以及代码 思路1:使用findContours函数,设置轮廓为最外部RETR_EXTERNAL,结果发现结果仍然是所有轮廓. 思路2:先二值化,然后进行闭操作,然后canny,得到的轮廓确实比 ...

  8. 13.深度学习练习:Autonomous driving - Car detection(YOLO实战)

    本文节选自吴恩达老师<深度学习专项课程>编程作业,在此表示感谢. 课程链接:https://www.deeplearning.ai/deep-learning-specialization ...

  9. 04.卷积神经网络 W3.目标检测(作业:自动驾驶 - 汽车检测)

    文章目录 1. 问题背景 2. YOLO 模型 2.1 模型细节 2.2 分类阈值过滤 2.3 非极大值抑制 2.4 完成过滤 3. 在照片上测试已预训练的YOLO模型 3.1 定义类别.anchor ...

  10. yolo算法的优缺点分析_YOLO算法详细解析(一)

    目标检测和目标分类 图像识别算法是计算机视觉的基础算法,例如VGG,GoogLeNet,ResNet等,这类算法主要是判断图片中目标的种类. 目标检测算法和图像识别算法类似,但是目标检测算法不仅要识别 ...

最新文章

  1. POJ-1041 John's trip
  2. React Native 下载组件以及npm常用命令
  3. nohup命令输出日志_逼格高又实用的Linux高级命令,开发运维都要懂
  4. html 分页_MySQL——优化嵌套查询和分页查询
  5. C# 编程规范 (coding standard)
  6. Visual C#中父窗口和子窗口之间实现控件互操作
  7. mysql常用调试工具_最常用的8款PHP调试工具
  8. 30分钟学会正则表达式
  9. hdu-3790 最短路径问题---dijkstra两重权值
  10. Java 内部类与外部类的关系
  11. cleanmymac2023免费版纯净mac电脑系统管家
  12. 02-Ceph 集群部署
  13. 最全面的安卓编码规范
  14. 一鸣心所向:数字营销中的智商、逆商和情商
  15. 电脑版微信多开小技巧
  16. 使用pandas对excel表格筛选
  17. NeRF与GAN的交融(一)——NeRF论文阅读
  18. “SCSA-S学习导图+”系列:文件包含
  19. odoo openerp 分享-oe嵌入qweb】用js读取数据库数据,用类似html语言重写web报表
  20. Java中AudioFileStream_iOS音频学习一之AudioFileStream

热门文章

  1. Android ListView优化之局部刷新(更新)(非notifyDataSetChanged)
  2. 计算机网络中常见的各层协议
  3. myaql数据库如何建表
  4. 最长上升子序列(LIS)问题的解决及优化
  5. 【Matlab仿真模型】短时交通流量预测模型
  6. STM32——串口概念及应用
  7. python的flask框架
  8. 原型与原型链的学习理解
  9. 计算机曝光模式有哪些,曝光模式_拍摄技巧_太平洋电脑网PConline
  10. Python中的split()函数的详解