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()
相关推荐
lsswear4 小时前
Agent 框架新手入门与实战部署指南
大数据·人工智能·算法
电子元件小说家5 小时前
2026年AI与汽车电子双轮驱动下,大感值贴片功率电感选型与替代观察
人工智能·汽车
七牛开发者5 小时前
从 Muse、dots 和 Grok Bot 看 Personal Agent:状态、记忆、授权与后台执行
人工智能
一枕槐安4875 小时前
AG 幻觉率从 24% 压到 4%:我把召回评估做成了流水线
人工智能·ai
北方的银狐-Zero5 小时前
OntoL本体产品生产案例分析-项目,合同,付款,本体交付案例
人工智能·本体论
二川bro5 小时前
wiki编译拆解
人工智能
迅为电子5 小时前
【迅为RK3588开发板与RK1828算力卡方案】工业异常检测:缺陷定位全流程演示
人工智能
YH_Analytics5 小时前
2026-2032 食品吸液垫行业市场规模与增长预测
大数据·网络·人工智能
我命由我123455 小时前
智能助手通用问答边界
人工智能·python·学习·ai·学习方法·ai编程·智能体