第三章-OpenCV基础-4-掩模

这篇具有很好参考价值的文章主要介绍了第三章-OpenCV基础-4-掩模。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基本概念

掩模,又称为掩膜,掩码,模板。图像掩模是指,用特定的图像/图形/物体遮挡代处理的图像(全部或局部),从而控制图像处理的区域,在数字图像处理中,掩模就是一个指定的数组,毕竟,图像也是数组。

opencv 掩膜,计算机视觉40例学习笔记,opencv,计算机视觉,python

左边图为原图,中间图为掩模(白色区域为透明区域,黑色区域为黑色遮挡区域),经过控制处理后,得到右边的结果图。

乘法运算

乘法运算的基础是任何数与0相乘为0,任何数和1相乘为其本身

简单实操如下:

import cv2 as cv
import numpy as np

lena = cv.imread("lena.jpg")
shape = lena.shape
cv.imshow("lena", lena)
# 生成掩模区域
yanmo = np.zeros([shape[0], shape[1], shape[2]], np.uint8)
# 生成掩模实际作用区域
yanmo[100:300, 200:400] = 1
# 掩模乘法操作
new_lena = lena * yanmo
cv.imshow("new_lena", new_lena)

cv.waitKey()
cv.destroyAllWindows()

显示如下:

opencv 掩膜,计算机视觉40例学习笔记,opencv,计算机视觉,python

 文章来源地址https://www.toymoban.com/news/detail-551018.html

注意:

  1. 图像的shape属性是一个包含图片长、宽、通道数的元祖
  2. 生成的掩模和图像大小必须完全一致

逻辑运算

逻辑运算的基础是任何数与0进行按位与运算结果为0,任何数与1进行按位与运算为其本身,8位像素值的全1值为255。

因此如上代码可以改为:

import cv2 as cv
import numpy as np

lena = cv.imread("lena.jpg")
shape = lena.shape
print(type(shape))
cv.imshow("lena", lena)
# 生成掩模区域
yanmo = np.zeros([shape[0], shape[1], shape[2]], np.uint8)
# 生成掩模实际作用区域,全部为255
yanmo[100:300, 200:400] = 255
# 掩模按位与操作
new_lena = cv.bitwise_and(lena, yanmo)
cv.imshow("new_lena", new_lena)

cv.waitKey()
cv.destroyAllWindows()

效果如上图一样。

掩模作为函数参数

我们知道,掩模本质是一个特定的数组,掩模在函数中作为参数存在。

举例说明: 计算结果 = cv2.add( 参数1 , 参数2 ,掩模 )

当使用掩模参数时,操作只会在掩模数组中值为非空的像素点上执行,并将其他像素点的像素值置为0

具体使用如下代码:

import cv2 as cv
import numpy as np

lena = cv.imread("lena.jpg")
# 随便截的一张图,大小和lena的一样 512*512
test = cv.imread("test.png")
h, w, c = lena.shape
cv.imshow("lena", lena)
cv.imshow("test", test)
# 生成掩模区域
yanmo = np.zeros([h,w], np.uint8)
# 生成掩模实际作用区域,全部为非0即可,这里随便选了100
yanmo[0:400, 100:400] = 100
# 掩模作为函数参数使用
new_lena = cv.add(lena, test, mask=yanmo)
cv.imshow("mask", new_lena)

cv.waitKey()
cv.destroyAllWindows()

运行结果:

opencv 掩膜,计算机视觉40例学习笔记,opencv,计算机视觉,python 

注意:

  1. 掩模作为函数参数实现时,只要数组位置的值为0,则这些位置都置为0
  2. 其他不为0的位置的数值,只要不为0即可

 

到了这里,关于第三章-OpenCV基础-4-掩模的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenCV迭代去畸变undistortPoints 与vins的迭代不同 第二章vins前端 第三章imu预积分 第四章vio初始化

    OpenCV去畸变undistortPoints原理解析 不动点迭代法—单变量非线性方程近似根matlab求解 淦VINS-MONO源码 03–openCV与VINS中去畸变方法的不同 这里用的方法和openCV不同,假设现在求A点的去畸变坐标,那么我们将A的坐标直接代入畸变模型中,求得再次畸变的坐标,并求得这个坐标和

    2024年02月09日
    浏览(56)
  • 计算机组成原理(第三版)唐朔飞-第三章系统总线-课后习题

    答: ① 总线 是连接多个部件的信息传输线,是个部件共享的传输介质。 ② 总线传输 特点 :在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接受相同的信息。 ③ 为减轻总线上的负载,各种I/O设备要通过 I/O接口 接在总线上,而且还要通过 三态门 挂在

    2023年04月13日
    浏览(59)
  • 【计算机组成原理】第三章单元测试

    目录 单元测试 更多测试 1.单选(2分) ‎执行算术右移指令的操作过程是 ‍A.操作数的符号位不变,各位顺次右移1位,符号位拷贝至最高数据位 B.操作数的符号位填0,各位顺次右移1位 C.操作数的符号位填1,各位顺次右移1位 D.进位标志移至符号位,各位顺次右移1位 2.单选(2分

    2023年04月22日
    浏览(51)
  • 计算机视觉笔记 第三章:目标检测

      计算机视觉笔记:第一章 图像分类-CSDN博客 计算机视觉笔记 第二章 图像语义分割-CSDN博客 计算机视觉笔记 第三章:目标检测-CSDN博客 计算机视觉 第四章:图像识别、目标跟踪-CSDN博客 计算机视觉 第五章 多目视觉(立体视觉)-CSDN博客 标定图像中目标的位置,并给出目标

    2024年04月17日
    浏览(44)
  • 计算机组成原理---第三章存储系统 习题详解版

    知识扩展: 如果主存的容量无法满足 CPU 的需求,可以通过存储器扩展来解决,扩展的方式有两种: 主存的 位数 不够(相当于快递柜的尺寸太小,放不下大包裹),则可以通过位扩展的方式(快递柜扩容)实现; 主存的 字数 不够 (存储单元的数目不够, 相当于快递柜数

    2024年02月08日
    浏览(63)
  • 【计算机组成原理】24王道考研笔记——第三章 存储系统

    现代计算机的结构: 1.存储器的层次结构 2.存储器的分类 按层次: 按介质: 按存储方式: 按信息的可更改性: 按信息的可保存性: 3.存储器的性能指标 1.基本组成 半导体元件原理: 存储芯片原理:存储芯片由半导体元件组成而成 不同的寻址方式: 总结: 2.SRAM和DRAM 上一

    2024年02月13日
    浏览(54)
  • 《计算机系统与网络安全》 第三章 网络攻击预防与技术

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月11日
    浏览(45)
  • 【计算机视觉:算法和应用】第三章:图像处理——3.2线性滤波

    【计算机视觉:算法和应用】第二章:图像形成——2.1 几何图元与变换_Lu.马夋的博客-CSDN博客 【计算机视觉:算法和应用】第二章:图像形成——2.2相机辐射成像-CSDN博客 【计算机视觉:算法和应用】第二章:图像形成——2.3数码相机-CSDN博客 【计算机视觉:算法和应用】

    2024年02月03日
    浏览(48)
  • 计算机操作系统重点概念整理-第三章 进程同步【期末复习|考研复习】

    计算机操作系统复习系列文章传送门: 第一章 计算机系统概述 第二章 进程管理 第三章 进程同步 第四章 内存管理 第五章 文件管理 第六章 输出输出I/O管理 给大家整理了一下计算机操作系统中的重点概念,以供大家期末复习和考研复习的时候使用。 参考资料是王道的计算

    2024年02月08日
    浏览(50)
  • 信息论基础第三章阅读笔记

    在信息论中,与大数定律类似的是渐进均分性(AEP),它是弱大数定律的直接结果。 大数定理针对独立同分布(i.i.d.)随机变量 ……………… 因此,当n很大时,一个观察序列出现的概率 p ( X 1 , X 2 , . . . , X n ) p(X_1,X_2,...,X_n) p ( X 1 ​ , X 2 ​ , ... , X n ​ ) 近似等于 2 − n H 2^{-nH}

    2024年02月07日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包