OpenCv之图像形态学(二)

目录

一、形态学梯度

二、顶帽操作

三、黑帽操作


一、形态学梯度

  • 梯度=原图 - 腐蚀
  • 腐蚀之后原图边缘变小,原图 - 腐蚀 就可以得到腐蚀掉的部分,即边缘

案例代码如下:

python 复制代码
import cv2
import numpy as np

# 导入图片
img = cv2.imread('6.jpg')

# 注意调节kernel大小以获得更清晰的边缘
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(3,3))

dst = cv2.morphologyEx(img,cv2.MORPH_GRADIENT,kernel,iterations=1)

cv2.imshow('img',np.hstack((img,dst)))

cv2.waitKey(0)
cv2.destroyAllWindows()

运行结果如下:

二、顶帽操作

  • 顶帽 = 原图 - 开运算
  • 开运算的效果是去除图形外的噪点,原图 - 开运算就得到了去掉的噪点

案例代码如下:

python 复制代码
import cv2
import numpy as np


img = cv2.imread('6.jpg')

# 注意调整kernel以保留小图形
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(19,19))

dst = cv2.morphologyEx(img,cv2.MORPH_TOPHAT,kernel,iterations=1)

cv2.imshow('img',np.hstack((img,dst)))

cv2.waitKey(0)
cv2.destroyAllWindows()

三、黑帽操作

  • 黑帽 = 原图 - 闭运算
  • 闭运算可以将图形内部的噪点去掉,那么原图 - 闭运算的结果就是图形内部的噪点

案例代码如下:

python 复制代码
import cv2
import numpy as np


img = cv2.imread('6.jpg')

# 注意调整kernel以保留小图形
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(19,19))

dst = cv2.morphologyEx(img,cv2.MORPH_BLACKHAT,kernel,iterations=1)

cv2.imshow('img',np.hstack((img,dst)))

cv2.waitKey(0)
cv2.destroyAllWindows()
相关推荐
阿里云大数据AI技术3 分钟前
阿里云PAI助力新一代Qwen3.5模型发布!
人工智能·算法
大模型真好玩4 分钟前
LangChain DeepAgents 速通指南(一)—— 一文详解DeepAgents核心特性
人工智能·langchain·agent
mightbxg10 分钟前
【学习一下】深入理解交叉熵
人工智能·学习·机器学习
别惹CC13 分钟前
OpenClaw 是如何设计提示词的?
人工智能·ai·aigc
AI周红伟14 分钟前
周红伟:信创大模型企业级部署实操,Qwen3.5 昇腾企业级部署案例实操
大数据·人工智能·大模型·智能体
阿星AI工作室17 分钟前
我做了个飞书转公众号排版器,6套高颜值主题想换就换
前端·人工智能
响叮当!22 分钟前
大模型输出的全过程
人工智能·深度学习·机器学习
杨浦老苏24 分钟前
AI提示词管理工具AiShort
人工智能·docker·ai·群晖
qq_3140098333 分钟前
Windows10+WSL部署Openclaw接入飞书实践
人工智能·飞书
SmartBrain36 分钟前
多智能体设计(第二部分):消息传递机制(含考题)
人工智能·架构·langchain·aigc