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()
相关推荐
枫叶林FYL2 分钟前
【自然语言处理 NLP】前沿架构与多模态 状态空间模型(Mamba/SSM)深度实现
人工智能·机器学习
Westward-sun.5 分钟前
OpenCV 实战:SIFT 指纹特征匹配与可视化(补充版)
人工智能·opencv·计算机视觉
财经资讯数据_灵砚智能7 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年4月7日
大数据·人工智能·python·信息可视化·语言模型·自然语言处理·ai编程
凌峰的博客12 分钟前
基于注意力流的鲁棒信息隐写方法:从扩散隐写到Attention Flow的新探索
人工智能
初心未改HD19 分钟前
从Java转行大模型应用,扣子工作流学习
人工智能
Gary jie23 分钟前
AI上下文管理与记忆架构详解
人工智能·机器学习·架构·openclaw
大树8824 分钟前
【无标题】
大数据·运维·服务器·人工智能
我材不敲代码25 分钟前
基于dlib+OpenCV的人脸疲劳检测 + 年龄性别识别实战
人工智能·opencv·计算机视觉
victory043125 分钟前
2026年4月7日nanoGPT训练记录
人工智能
人工智能AI技术30 分钟前
AI Agent 的 Harness 机制学习思考
人工智能