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()
相关推荐
OpenBayes3 分钟前
OCR 新范式!DeepSeek 以「视觉压缩」替代传统字符识别;Bald Classification数据集助力高精度人像分类
人工智能·深度学习·分类·数据挖掘·ocr·数据集·deepseek
亚马逊云开发者4 分钟前
Agentic AI基础设施实践经验系列(四):MCP服务器从本地到云端的部署演进
人工智能
知识搬运工人5 分钟前
深入解析U-Net
人工智能
weixin_421133416 分钟前
深度强化学习,用神经网络代替 Q-table
人工智能·深度学习·神经网络
lx7416026986 分钟前
面试可能的问题(自用)
人工智能·自然语言处理
数字化脑洞实验室11 分钟前
智能决策算法的核心原理是什么?
人工智能·算法·机器学习
流烟默11 分钟前
机器学习中拟合、欠拟合、过拟合是什么
人工智能·算法·机器学习
说私域35 分钟前
社群时代下的商业变革:“开源AI智能名片链动2+1模式S2B2C商城小程序”的应用与影响
人工智能·小程序·开源
格林威1 小时前
AOI在风电行业制造领域中的应用
人工智能·数码相机·计算机视觉·视觉检测·制造·机器视觉·aoi
大千AI助手1 小时前
Graph-R1:智能图谱检索增强的结构化多轮推理框架
人工智能·神经网络·大模型·rag·检索增强生成·大千ai助手·graph-r1