Opencv中cv2.calcHist的mask的使用方法

引入

我们用来画直方图函数:

复制代码
cv2.calcHist([img], [0], mask, [256], [0, 256])

有一个mask属性.我们应该如何去使用它呢,以及他的作用是什么

mask顾名思义就是一个遮罩层,我们可以选择图片上我们想要的位置进行画直方图


实际用法介绍

首先我们用一张图片来进行讲解

陶大郎的耳朵!

我们这个时候想要截取耳朵上选定的部分,我们应该怎么做呢?


原理介绍


图中的①操作:

python 复制代码
import cv2
import numpy as np
from matplotlib import pyplot as plt

img =cv2.imread("test.jpg", 0)
# 未选定位置全为黑色
mask = np.zeros(img.shape[:2], np.uint8)
# 选定位置全为白色
mask[50:100, 50:100] = 255

cv2.imshow("mask",mask)
cv2.waitKey()
cv2.destroyAllWindows()

运行结果:


图中的②操作

python 复制代码
import cv2
import numpy as np
from matplotlib import pyplot as plt

img =cv2.imread("test.jpg", 0)
mask = np.zeros(img.shape[:2], np.uint8)
mask[50:100, 50:100] = 255
# 新加入
masked_img = cv2.bitwise_and(img,img,mask=mask)
cv2.imshow("masked_img",masked_img)
cv2.waitKey()
cv2.destroyAllWindows()

只在①的基础上加上了 masked_img = cv2.bitwise_and(img,img,mask=mask)

运行结果


使用我们的mask进行直方图绘制

python 复制代码
import cv2
import numpy as np
from matplotlib import pyplot as plt

img =cv2.imread("test.jpg", 0)
# 未选定位置全为黑色
mask = np.zeros(img.shape[:2], np.uint8)
# 选定位置全为白色
mask[50:100, 50:100] = 255
hist = cv2.calcHist([img], [0], mask, [256], [0, 256])
plt.plot(hist, color = 'r')
plt.xlim([0, 256])
plt.show()
复制代码
cv2.calcHist([img], [0], None, [256], [0, 256])变为了
复制代码
cv2.calcHist([img], [0], mask, [256], [0, 256])

我们加上了我们定义的mask

注意:我们把 masked_img = cv2.bitwise_and(img,img,mask=mask) 给去除了,因为在上面我们知识用它来给大家展示效果,在运用到直方图的时候只需要把我们的mask传入进去,就相当于做了这么个效果

相关推荐
阿坡RPA12 小时前
手搓MCP客户端&服务端:从零到实战极速了解MCP是什么?
人工智能·aigc
用户277844910499312 小时前
借助DeepSeek智能生成测试用例:从提示词到Excel表格的全流程实践
人工智能·python
机器之心12 小时前
刚刚,DeepSeek公布推理时Scaling新论文,R2要来了?
人工智能
算AI14 小时前
人工智能+牙科:临床应用中的几个问题
人工智能·算法
凯子坚持 c15 小时前
基于飞桨框架3.0本地DeepSeek-R1蒸馏版部署实战
人工智能·paddlepaddle
你觉得20515 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
8K超高清16 小时前
中国8K摄像机:科技赋能文化传承新图景
大数据·人工智能·科技·物联网·智能硬件
hyshhhh16 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
薛定谔的猫-菜鸟程序员16 小时前
零基础玩转深度神经网络大模型:从Hello World到AI炼金术-详解版(含:Conda 全面使用指南)
人工智能·神经网络·dnn
币之互联万物16 小时前
2025 AI智能数字农业研讨会在苏州启幕,科技助农与数据兴业成焦点
人工智能·科技