返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >OpenCVmask的作用及如何制作掩模mask
  • 111
分享到

OpenCVmask的作用及如何制作掩模mask

OpenCVmask掩模mask掩模 2023-02-16 15:02:12 111人浏览 泡泡鱼
摘要

目录前言一、mask是什么?二、OpenCV生成mask的几种方法总结前言 OpenCV中的很多函数用到mask,mask是什么?怎么作一个mask?将是本文的主要内容。 一、mas

前言

OpenCV中的很多函数用到mask,mask是什么?怎么作一个mask?将是本文的主要内容。

一、mask是什么?

mask 不是马斯克,是掩膜,可以用来遮盖非感兴趣区,突出感兴趣区,使得图像处理只专注于ROI部分。

二、OpenCV生成mask的几种方法

注意:mask最终需要与要作用到的输入图像的尺寸与类型保持一致

矩形

#include <opencv2/opencv.hpp>

using namespace cv;

int main() {
  Mat src = imread("img1.png", IMREAD_GRAYSCALE);
  imshow("src", src);
  // 定义mask,大小640*480,像素全0
  Mat mask = cv::Mat::zeros(Size(640, 480), CV_8UC1);

  // 作一个从坐标(220,120),宽200,高200的矩形框,框内填充白色,从方法1,2,3中任选一
  // 方法1
  rectangle(mask, cv::Rect(220, 120, 200, 200), Scalar(255), -1);
  // 方法2
  mask(cv::Rect(320, 50, 240, 310)) = 255;
  // 方法3
  mask(cv::Rect(320, 50, 240, 310)).setTo(255);
  
  Mat dst;
  // 将src中对应对应掩膜ROI中区域拷贝到dst
  src.copyTo(dst, mask);
  
  imshow("mask",mask);
  imshow("dst", dst);
  waiTKEy();
  
  return 0;
}

运行结果如下:

src

mask

dst

圆形

同理

#include <opencv2/opencv.hpp>

using namespace cv;

int main() {
  Mat src = imread("img1.png", IMREAD_GRAYSCALE);
  
  // 定义mask,大小640*480,像素全0
  Mat mask = cv::Mat::zeros(Size(640, 480), CV_8UC1);
  // 作一个以点坐标(320,50)为圆心,150为半径的圆,圆内填充白色
  circle(mask, Point(440, 205), 150, Scalar(255),-1);
  
  Mat dst;
  // 将src中对应对应掩膜ROI中区域拷贝到dst
  src.copyTo(dst, mask);
  
  imshow("mask",mask);
  imshow("dst", dst);
  waitKey();
  
  return 0;
}

mask

dst

mask可以是各种形状,各式各样,方法也有很多,这里只略举一二。

总结

定义mask,设置ROI,将ROI内部填充白色,其他填充黑色,即可对ROI区域操作,遮盖其他区域。也可以将mask反转,遮盖矩形框内数据,处理框外数据。

到此这篇关于OpenCV mask的作用及如何制作掩模mask的文章就介绍到这了,更多相关OpenCV mask掩模内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: OpenCVmask的作用及如何制作掩模mask

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

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

猜你喜欢
  • OpenCVmask的作用及如何制作掩模mask
    目录前言一、mask是什么?二、OpenCV生成mask的几种方法总结前言 OpenCV中的很多函数用到mask,mask是什么?怎么作一个mask?将是本文的主要内容。 一、mas...
    99+
    2023-02-16
    OpenCV mask掩模 mask掩模
  • OpenCV制作Mask图像掩码的案例
    目录一、掩膜(mask)二、案例1.效果图2. 源码一、掩膜(mask) 在有些图像处理的函数中有的参数里面会有mask参数,即此函数支持掩膜操作,首先何为掩膜以及有什么用,如下:数...
    99+
    2023-02-16
    OpenCV Mask图像掩码 Mask掩码 OpenCV Mask掩码
  • phpcms标签模板及专题模板的制作
    关键字描述:模板 制作 专题 标签 " < article if /if > class phpcms标签模板及专题模板的制作1.标签模板的制作前面我们已经讲到了每个频道模板的制作,但是我们只是插入对应...
    99+
    2022-06-12
    模板 制作 专题 标签 < " article /if if > class
  • dreamweaver如何制作网页模板
    这篇文章主要为大家展示了“dreamweaver如何制作网页模板”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“dreamweaver如何制作网页模板”这篇文章吧。对于很多初学网页的人来说,dre...
    99+
    2023-06-08
  • 详解Java如何利用位操作符创建位掩码
    目录位掩码举个例子编码解码提取一个比特第一比特任意位置的位提取多个比特应用一个比特掩码总结在本文中,我们来看看如何使用位操作符实现低级别的位掩码。我们将看到我们如何将一个单一的int...
    99+
    2022-11-13
    Java位操作符创建位掩码 Java 创建位掩码 Java 位操作符 Java 位掩码
  • Dreamweaver如何制作简单的日历模板
    这篇文章主要介绍Dreamweaver如何制作简单的日历模板,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Dreamweaver中想要制作一个日历,主要使用表格来制作,函数创建与调用,if语句与for语句、ID标签的...
    99+
    2023-06-08
  • windows中bartender如何制作标签模板
    这篇“windows中bartender如何制作标签模板”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起...
    99+
    2022-12-02
    windows bartender
  • 如何使用Shell脚本掩盖Linux服务器上的操作痕迹
    这篇文章主要介绍了如何使用Shell脚本掩盖Linux服务器上的操作痕迹,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。操作步骤第一步:查看和操作时间戳多数Linux系统中包含...
    99+
    2023-06-06
  • 如何使用HTML5和CSS3制作一个模态框
    小编给大家分享一下如何使用HTML5和CSS3制作一个模态框,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!源码示例可能你并不想看我下面的一堆冗长的说明,想直接查看...
    99+
    2023-06-09
  • 如何用用Python制作NFT区块链作品
    目录什么是 NFT?ERC20 与 ERC721NFT 有什么用?NFT 的价值如何制作 NFT如何进行无限定制的 NFT快速上手ERC721 代币标准什么是 NFT 元数据和 TokenURI?TokenURI链下...
    99+
    2022-06-02
    Python 区块链 python NFT
  • WordPress如何制作评论主题的评论模块
    这篇文章主要介绍“WordPress如何制作评论主题的评论模块”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“WordPress如何制作评论主题的评论模块”文章能帮助...
    99+
    2023-02-21
    wordpress
  • 如何用asp制作网站
    要用ASP制作网站,你需要掌握以下步骤:1. 安装IIS(Internet Information Services)服务器:IIS...
    99+
    2023-09-20
    asp
  • 如何用html制作网页
    HTML是网页设计领域中最为基础和重要的语言之一。它是一种标记语言,可以让开发者创建出结构良好、样式统一、容易维护的网站。要制作一个好看而且有用的网站,需要掌握以下几个步骤:建立文件结构在开始编写HTML之前,需要先建立文件夹和文件。建议将...
    99+
    2023-05-14
  • 如何使用Shell脚本掩盖Linux服务器上的操作痕迹(推荐)
    使用Shell脚本在Linux服务器上能够控制、毁坏或者获取任何东西,通过一些巧妙的攻击方法黑客可能会获取巨大的价值,但大多数攻击也留下踪迹。当然,这些踪迹也可通过Shell脚本等方法来隐藏。 寻找攻击...
    99+
    2022-06-04
    如何使用 脚本 器上
  • wordpress主题制作涉及到的基本模板及说明整理
    style.css : CSS(样式表)文件,一般包括主题声明和通用css样式代码 index.php : 主页模板,一般用来做网站的首页 header.php : Header模板,一般是所有页面的头部公用部分 sid...
    99+
    2022-06-12
    主题制作 常用模板 wordpress
  • Dreamweaver如何定义模板批量制作网页
    这篇文章给大家分享的是有关Dreamweaver如何定义模板批量制作网页的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、建立模板 创建模板页面最简单的办法是将一个网页另存为模板文件,通过执行命令:File&am...
    99+
    2023-06-08
  • 如何使用html5制作loading图
    小编给大家分享一下如何使用html5制作loading图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 代码如下: <...
    99+
    2024-04-02
  • 如何使用Python制作词云
    这篇文章给大家分享的是有关如何使用Python制作词云的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、准备词云制作所必需的三个包:安装:pip install matplotlib安装:pi...
    99+
    2023-06-15
  • 如何用iMovie制作预告片
    这期内容当中小编将会给大家带来有关如何用iMovie制作预告片,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。用iMovie有几个好处:1、内置各种模版。内置的模版包括了片头片尾、内容的排布方式、配乐、字幕...
    99+
    2023-06-19
  • 如何用css制作雪碧图
    这篇文章主要介绍“如何用css制作雪碧图”,在日常操作中,相信很多人在如何用css制作雪碧图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用css制作雪碧图”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-03
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作