形态学图像处理
一、基础知识
1.1 什么是形态学操作
数字图像处理中的形态学操作是一组用于处理二值图像(通常是黑白图像)的数学操作,旨在改变图像中物体的形状和结构。形态学操作通常用于图像分割、去噪、特征提取和形状分析等应用中。
二、腐蚀与膨胀
设有两幅图象B,X。若X是被处理的对象,而B是用来处理X的,则称B为结构元素(structure element),又被形象地称做刷子。结构元素通常都是一些比较小的图象。
2.1 腐蚀
腐蚀操作用于减小图像中物体的大小。它将一个结构元素与原始图像卷积,使物体边缘逐渐减小,可以用于去除小噪点或分离邻近物体。
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 将图片转成二值图像
def img2binary_img(img):
param = 177
binary_img = np.ones(img.shape[0:2])
binary_img[img<177] = 0
return binary_img
# 执行腐蚀操作
def img_erode(binary, kernel_size):
#可以修改卷积核大小来增加腐蚀效果,越大腐蚀越强
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(kernel_size,kernel_size))
dst = cv2.erode(binary,kernel)
return dst
img = cv2.imread("img/image.jpg",0)
binary_img = img2binary_img(img)
erode_img_5 = img_erode(binary_img, 5)
erode_img_7 =<

本文聚焦数字图像处理中的形态学操作,介绍了其基础知识,包括腐蚀、膨胀操作,可改变物体大小;开操作与闭操作能保持物体大小、消除噪声或增强连接点;还阐述了边界提取、空洞填充、凸壳等基本形态学算法,用于处理二值图像。
2514

被折叠的 条评论
为什么被折叠?



