OpenCV-41 使用掩膜的直方图

一、掩膜

掩膜即为与原图大小一致的黑底白框图。

如何生成掩膜?

  • 先生成一个全黑的和原始图片大小一样大的图片。mask = np.zeros(img.shape, np.uint8)
  • 将想要的区域通过索引方式设置为255.mask[100:200, 200:300]

示例代码如下:

import cv2
import matplotlib.pyplot as plt
import numpy as nplena = cv2.imread("beautiful women.png")
# 变成黑白图像
gray = cv2.cvtColor(lena, cv2.COLOR_BGR2GRAY)
# 生成掩膜图像
mask = np.zeros(gray.shape, np.uint8)
# 设计想要统计直方图的区域
mask[200:500, 200:500] = 255
# 进行与运算
# gray与gray进行与运算还是gray, mask的作为为,gray先于gray做与运算,结果再和mask做与运算
img_and = cv2.bitwise_and(gray, gray, mask=mask)
hist_mask = cv2.calcHist([gray], [0], mask, [256], [0,255])
hist_gray = cv2.calcHist([gray], [0], None, [256], [0,255])
plt.plot(hist_mask, label = "mask")
plt.plot(hist_gray,label = "gray")
plt.legend()
plt.show()cv2.imshow("mask", mask)
cv2.imshow("gray", gray)
cv2.imshow("and", img_and)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果如下:

注意点:

0与任何东西进行与运算都为0

255与非0的进行与运算还是255

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/685572.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

紫微斗数双星组合:天机太阴在寅申

文章目录 前言内容总结 前言 紫微斗数双星组合:天机太阴在寅申 内容 紫微斗数双星组合:天机太阴在寅申 性格分析 天机星与太阴星同坐寅申二宫守命的男性,多浪漫,易与女性接近,温柔体贴,懂得女人的心理。…

IO流---缓冲流,转换流,打印流,序列化流

缓冲流 缓冲流(Buffered Stream)也被称为高效流,它是对基本的字节字符流进行增强的一种流。通过缓冲流,可以提高数据的读写能力。 在创建缓冲流对象时,会创建一个内置的默认大小的缓冲区数组。通过对缓冲区的读写&…

2024.2.10 HCIA - Big Data笔记

1. 大数据发展趋势与鲲鹏大数据大数据时代大数据的应用领域企业所面临的挑战和机遇华为鲲鹏解决方案2. HDFS分布式文件系统和ZooKeeperHDFS分布式文件系统HDFS概述HDFS相关概念HDFS体系架构HDFS关键特性HDFS数据读写流程ZooKeeper分布式协调服务ZooKeeper概述ZooKeeper体系结构…

[职场] 会计学专业学什么 #其他#知识分享#职场发展

会计学专业学什么 会计学专业属于工商管理学科下的一个二级学科,本专业培养具备财务、管理、经济、法律等方面的知识和能力,具有分析和解决财务、金融问题的基本能力,能在企、事业单位及政府部门从事会计实务以及教学、科研方面工作的工商管…

【摸鱼日常】使用Docker部署RPG网页小游戏

一、本次实践介绍 1. 本次实践简介 本次实践部署环境为个人测试环境,快速使用docker部署RPG网页小游戏。 rootWellDone:/home/goodjob# uname -a Linux WellDone 6.5.0-14-generic #14~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov 20 18:15:30 UTC 2 x86_64 x86_…

Linux:docker搭建redis集群(3主3从扩容缩容 哈希槽分配)

操作系统:centos7 docker-ce版本:24.0.7 1.准备redis镜像 我这里使用redis 6.0.8 镜像进行操作,如果你也需要镜像,在网络正常情况下直接使用 docker pull redis:6.0.8 即可进行下载,如果你没配置国内加速器&#x…

DS:八大排序之直接插入排序、希尔排序和选择排序

创作不易,感谢三连支持!! 一、排序的概念及运用 1.1 排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起 来的操作。稳定性&…

leetcode:96.不同的二叉搜索树

解题思路: 输入n3 n 0 1个 n 1 1个 n 2 2个 头1头2头3 头1 左子树0节点(个数)x右子树2个节点(个数) 头2 左子树1节点(个数)x右子树1个节点(个数) 头3 左子…

集群聊天项目

不懂的一些东西 (const TcpConnectionPtr&)作为形参啥意思:接收一个常量引用,函数内部不允许修改该指针所指向的对象。 优势 1.网络层与业务层分离:通过网络层传来的id,设计一个map存储id以及对印的业务处理器&…

mysql 2-16

安全等于<> 最大最小LEAST,GREATEST BETWEEN AND 条件一是下限 IN LIKE关键字 转移字符 逻辑运算符 位运算符 排序数据 升序降序&#xff0c;默认升序 二级排序 8.0新特性 小拓展 多表查询 多表查询 别名 多表查询的分类 非等值连接 自连接 内连接与外连接 sql92实现外连…

TenorFlow多层感知机识别手写体

文章目录 数据准备建立模型建立输入层 x建立隐藏层h1建立隐藏层h2建立输出层 定义训练方式建立训练数据label真实值 placeholder定义loss function选择optimizer 定义评估模型的准确率计算每一项数据是否正确预测将计算预测正确结果&#xff0c;加总平均 开始训练画出误差执行结…

【超级干货】ArcGIS_空间连接_工具详解

帮助里对空间连接的解释&#xff1a; 根据空间关系将一个要素的属性连接到另一个要素。 目标要素和来自连接要素的被连接属性写入到输出要素类。 如上图所示&#xff0c;关键在于空间关系&#xff0c;只有当两个要素存在空间关系的时候&#xff0c;空间连接才有用武之地。 一…

JavaScript_00001_00000

contents 简介变量与数据类型自动类型转换强制类型转换 简介 变量与数据类型 根据变量定义的范围不同&#xff0c;变量有全局变量和局部变量之分。直接定义的变量是全局变量&#xff0c;全局变量可以被所有的脚本访问&#xff1b;在函数里定义的变量称为局部变量&#xff0c;…

JavaWeb之Servlet接口

Servlet接口 什么是Servlet&#xff1f; Servlet是一种基于Java技术的Web组件&#xff0c;用于生成动态内容&#xff0c;由容器管理&#xff0c;是平台无关的Java类组成&#xff0c;并且由Java Web服务器加载执行&#xff0c;是Web容器的最基本组成单元 什么是Servlet容器&…

【c++】list详细讲解

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大二&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;熟悉list库 > 毒鸡汤&#xff1a;你的脸上云淡…

关于Build Your Own Botnet的尝试

这是一次失败的尝试、 原文地址&#xff1a;关于Build Your Own Botnet的尝试 - Pleasure的博客 下面是正文内容&#xff1a; 前言 我在上一篇关于DDOS的文章种提到过这个项目&#xff0c;而且说明了由于这个项目是在2020年发布并开源的&#xff0c;并且已经有两年没有进行跟…

身份治理存在权限问题

身份治理正迅速成为 CISO 的首要考虑因素。二十年前&#xff0c;当萨班斯-奥克斯利法案(SoX) 和其他监管指令在互联网泡沫破灭后诞生时&#xff0c;身份治理要求就出现了。合规性控制&#xff0c;例如用户访问审查和有效管理员工访问生命周期的需要&#xff0c;是当时身份治理的…

1.2.1 相机模型—内参、外参

相机模型-内参、外参 更多内容&#xff0c;请关注&#xff1a; github&#xff1a;https://github.com/gotonote/Autopilot-Notes.git&#xff09; 针孔相机模型&#xff0c;包含四个坐标系&#xff1a;物理成像坐标系、像素坐标系、相机坐标系、世界坐标系。 相机参数包含&…

typescript类型详解

因为介绍了ts的全部类型,所以比较长,各位可以通过目录选择性观看 typescript类型概述typescript 类型注解概念-->监测类型变化 ts类型注解语法ts常用类型原始类型对象类型对象类型_数组类型 ts新增,联合类型ts函数类型ts 函数类型 voidts 函数类型可选参数 ts 对象类型ts 可…

The method toList() is undefined for the type Stream

The method toList() is undefined for the type Stream &#xff08;JDK16&#xff09; default List<T> toList() { return (List<T>) Collections.unmodifiableList(new ArrayList<>(Arrays.asList(this.toArray()))); }