opencv礼帽和黑帽运算

礼帽 = 原始输入 - 开运算结果,留存的以白色毛刺为主

黑帽 = 闭运算 - 原始输入,保留的更多是原始轮廓

python 复制代码
# 导入OpenCV库,用于图像处理  
import cv2  
import numpy as np  
# 从matplotlib库中导入pyplot模块,用于绘制图像  
from matplotlib import pyplot as plt  
  
# 创建一个名为'window'的窗口,窗口大小自动调整  
cv2.namedWindow('window', cv2.WINDOW_AUTOSIZE)  # cv2.WINDOW_AUTOSIZE: 窗口大小自动调整,不允许用户改变窗口大小  
  
# 使用OpenCV的imread函数读取名为"mao.jpg"的图片,参数1表示读取彩色图像  
cat = cv2.imread("mao.jpg", 0)  # cat变量存储读取的图像数据,OpenCV默认以BGR格式读取  
  
# 在名为'window'的窗口中显示图像  
cv2.imshow('window', cat)  
  
kernel = np.ones((5, 5), np.uint8)  
opening = cv2.morphologyEx(cat, cv2.MORPH_TOPHAT, kernel)  # 礼帽运算  
closing = cv2.morphologyEx(cat, cv2.MORPH_BLACKHAT, kernel)  # 黑帽运算  
cv2.imshow('window1', opening)  
cv2.imshow('window2', closing)  
  
# 等待按键事件,0表示无限期等待  
key = cv2.waitKey(0)  
  
# 检查按下的键是否是'q',如果是则销毁所有窗口  
if key & 0xFF == ord('q'):  # 0xFF是掩码,用于确保只检查最低8位  
    print("准备销毁窗口")  
    cv2.destroyAllWindows()
相关推荐
tmlx3I08110 小时前
高光谱拼接算法(六)RANSAC 误匹配剔除
人工智能·算法·机器学习
Mininglamp_271810 小时前
Claude Code 封禁中国开发者之后:本地 AI 编程工具的替代方案实测
开发语言·人工智能·windows·开源软件·ai-native
硅谷秋水11 小时前
World Engine:迈向自动驾驶的后训练时代
人工智能·深度学习·机器学习·计算机视觉·语言模型·自动驾驶
RobinDevNotes11 小时前
PentAGI:全自主 AI 渗透测试代理系统
人工智能
明理的信封11 小时前
AI 基础设施的“去 Python 化“:Rust 与 C# 的两条替代路径
人工智能·python·rust
优橙教育11 小时前
Rano AI智能体技术架构深度解析
人工智能
Tiansan666611 小时前
郑州AI问答推广公司:如何用AI提升转化率
人工智能·郑州ai问答推广公司
龙亘川11 小时前
开源本地 AI 智能体网关 OpenClaw 深度实践:架构解析、全场景部署与自动化落地指南
人工智能·架构·开源·openclaw
霍格沃兹测试开发学社测试人社区11 小时前
为企业提供专业、灵活、高效的一体化测试支持
人工智能
xixixi7777711 小时前
产业全景解读:太空算力、国产芯、国产大模型、6G 空天地、AI 可信身份、后量子安全多线全面突破
人工智能·安全·ai·大模型·数据中心·通信·运营商