opencv学习:图像掩码处理和直方图分析及完整代码

news/2024/12/22 18:51:10/

图像掩码是一种二值图像,用于控制图像处理操作的应用区域。通过将掩码与原图像进行按位与操作,可以提取或屏蔽图像的特定部分。直方图是图像处理中的一个重要工具,用于分析图像的灰度分布。

实验步骤

  1. 使用OpenCV读取图像文件“phone.png”为灰度图像。
    phone=cv2.imread("phone.png",cv2.IMREAD_GRAYSCALE)
  2. 创建一个与原图像大小相同的掩码,并在指定区域设置掩码值为255。
    mask=np.zeros(phone.shape[:2],np.uint8)
    mask[50:350,100:470]=255
    cv2.imshow("mask",mask)
  3. 应用掩码,通过按位与操作提取掩码区域的图像。
    phone_mask=cv2.bitwise_and(phone,phone,mask=mask)
    cv2.imshow("phone_mask",phone_mask)
  4. 使用掩码计算提取区域的灰度直方图。
    phone_hist_mask=cv2.calcHist([phone],[0],mask,[256],[0,256])
  5. 使用Matplotlib绘制直方图。
    plt.plot(phone_hist_mask)

实验结果

完整代码

phone=cv2.imread("phone.png",cv2.IMREAD_GRAYSCALE)
mask=np.zeros(phone.shape[:2],np.uint8)
mask[50:350,100:470]=255
cv2.imshow("mask",mask)
cv2.waitKey(0)phone_mask=cv2.bitwise_and(phone,phone,mask=mask)
cv2.imshow("phone_mask",phone_mask)
cv2.waitKey(0)phone_hist_mask=cv2.calcHist([phone],[0],mask,[256],[0,256])
plt.plot(phone_hist_mask)
cv2.waitKey(0)
plt.show()


http://www.ppmy.cn/news/1526646.html

相关文章

CRM客户关系管理系统开发源码小程序

CRM(Customer Relationship Management)客户关系管理系统是一种用于管理企业与客户之间关系的软件系统。它集成了多种技术和方法,旨在帮助企业更好地理解客户需求、提升客户满意度、增强客户忠诚度,并最终提高业务绩效。CRM系统通…

大模型训练数据库Common Crawl

Common Crawl介绍 ‌‌Common Crawl是一个非营利组织,致力于通过大规模分布式爬虫系统定期抓取整个Web并将其存储在一个可公开访问的数据库中。Common Crawl的数据收集和处理过程包括使用Python开源爬虫工具收集全球范围内的网站数据,并将其上传到‌Com…

Superset二次开发之源码DependencyList.tsx 分析

功能点 路径 superset-frontend\src\dashboard\components\nativeFilters\FiltersConfigModal\FiltersConfigForm\DependencyList.tsx /*** Licensed to the Apache Software Foundation (ASF) under one* or more contributor license agreements. See the NOTICE file* dist…

速盾高防cdn比较好的cdn

随着互联网的快速发展,CDN(Content Delivery Network)作为一种加速网络内容传输的技术应运而生。CDN通过在全球各地建立分布式服务器节点,将用户请求分配到最近的服务器上,从而提高了网络传输速度和用户体验。在众多的…

接口测试从入门到精通项目实战

视频网址:2024最新接口测试从入门到精通项目实战(全套接口测试教程)_哔哩哔哩_bilibili 接口架构设计分析 http协议详解 JMeter 目录介绍 常用组件 执行接口测试 接口文档:tlias智能学习辅助系统接口文档-V1.0-CSDN博客 实战 前…

HP Z2 G3 Mini,有点游戏主机异型那味儿了

HP Z2 G3 Mini,有点游戏主机异型那味儿了 小伙伴们大家好呀,今天我们来围观的是这款HP Z2 G3 Mini主机,当我看到这款主机的第一眼,就有点喜欢上了它。它这个独特而又有个性的外形,丰富的接口,低廉的价格,不错的性能,让我很是喜欢。主界面有HP的Logo以及一个开关机键,侧…

【C语言】分支和循环专题应用

分支和循环专题应用 1、随机数生成1.1rand1.2 srand函数介绍1.3 time函数介绍1.4 设置随机数的范围 2、猜数字游戏的代码及实现 通过了分支和循环的介绍学习之后,我们可以运用分支和循环语句写出一些有趣的代码了,让我们来一起探索吧! 写一个…

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟)

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟) 题目描述 给定一个链表,链表中的每个节点代表一个整数。链表中的整数由 0 分隔开,表示不同的区间。链表的开始和结束节点的值都为 0。任务是将每两个相邻的 0 之间的所…