图像分析之图像形态学处理

1.腐蚀操作
2.膨胀操作
3.开运算与闭运算
4.梯度运算(绘制图像的边框)
5.礼帽与黑帽

 

 

 

 

 

 

1.腐蚀操作

复制代码
import cv2 #opencv读取的格式是BGR
import numpy as np
import matplotlib.pyplot as plt#Matplotlib是RGB

img = cv2.imread('dige.png')
cv2.imshow('img', img)

# 腐蚀操作
#kernel 腐蚀范围, iterations 迭代次数
kernel = np.ones((3, 3), np.uint8) erosion = cv2.erode(img, kernel, iterations = 1) cv2.imshow('erosion', erosion) cv2.waitKey(0) cv2.destroyAllWindows()
复制代码

 

 

2.膨胀操作

复制代码
img = cv2.imread('dige.png')
cv2.imshow('img', img)
# 膨胀操作
#kernel 腐蚀范围, iterations 迭代次数
kernel = np.ones((3,3),np.uint8) dige_dilate = cv2.dilate(img,kernel,iterations = 1) cv2.imshow('dilate', dige_dilate) cv2.waitKey(0) cv2.destroyAllWindows()
复制代码

3.开运算与闭运算

复制代码
# 开:先腐蚀,再膨胀
img = cv2.imread('dige.png')

kernel = np.ones((5,5),np.uint8) 
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)

cv2.imshow('opening', opening)
cv2.waitKey(0)
cv2.destroyAllWindows()
复制代码
复制代码
# 闭:先膨胀,再腐蚀
img = cv2.imread('dige.png')

kernel = np.ones((5,5),np.uint8) 
closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)

cv2.imshow('closing', closing)
cv2.waitKey(0)
cv2.destroyAllWindows()
复制代码

4.梯度运算(绘制图像的边框)

复制代码
# 梯度=膨胀-腐蚀
pie = cv2.imread('pie.png')
kernel = np.ones((7, 7), np.uint8)
dilate = cv2.dilate(pie, kernel, iterations = 5)
erosion = cv2.erode(pie, kernel, iterations = 5)
res = np.hstack((dilate, erosion))
cv2.imshow('res', res)

# 梯度运算
gradient = cv2.morphologyEx(pie, cv2.MORPH_GRADIENT, kernel)
cv2.imshow('gradient', gradient)

cv2.waitKey(0)
cv2.destroyAllWindows()
复制代码

5.礼帽与黑帽

- 礼帽 = 原始输入-开运算结果
- 黑帽 = 闭运算-原始输入
复制代码
img = cv2.imread('dige.png')
kernel = np.ones((7, 7), np.uint8)

#礼帽
tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)
cv2.imshow('tophat', tophat)

#黑帽
blackhat  = cv2.morphologyEx(img,cv2.MORPH_BLACKHAT, kernel)
cv2.imshow('blackhat ', blackhat )
复制代码

 

 

 

posted @   ☞@_@  阅读(190)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
点击右上角即可分享
微信分享提示