
形态学----数学形态学(MathematicalMorphology), 是图像处理过程中一个非常重要的研究方向。形态学主要从图像内提取分量信息,该分量信息通常对于表达和描述图像的形状具有重要意义。
形态学 *** 作主要包含:腐蚀,膨胀,开运算,闭运算,形态学梯度计算,顶帽运算,黑帽运算等。
其中,腐蚀和膨胀 *** 作时形态学运算的基础。其它形态学 *** 作,就是腐蚀和膨胀 *** 作的各种结合。
注意:形态学 *** 作的对象都是针对二值化图像的。
1. 腐蚀:
腐蚀是最基本的形态学 *** 作之一,它能够将图像的边缘点消除,使图像沿着边界向内收缩,也可以将小于指定结构体元素的部分去除。
腐蚀用来“收缩”或者“细化”二值图像中的前景。借此实现去除噪音,元素分割等功能。
在腐蚀过程中,通常使用一个结构元来逐个像素的扫描要被腐蚀的图像,并根据结构元和被腐蚀图像的关系来确定腐蚀结果(即判定结构元中心点所对应点的像素值)。
import cv2
import numpy as np
import sys
#data_src = cv2.imread("images/Morphology_Success_3.png", cv2.IMREAD_COLOR)
data_src = cv2.imread("images/Morphology_Success_4.png", cv2.IMREAD_COLOR)
data_gray = cv2.cvtColor(data_src, cv2.COLOR_BGR2GRAY)
t, rst = cv2.threshold(data_gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
print("thresh:", t)
kernel = np.ones((15,15), np.uint8)
kernel1 = np.ones((3, 3), np.uint8)
iter = 100
#iter = 5
dst = cv2.erode(rst, kernel1, iterations = iter)
cv2.imshow("Orz", data_src)
cv2.imshow("gray", data_gray)
cv2.imshow("thr", rst)
cv2.imshow("erode", dst)
cv2.waitKey()
cv2.destroyAllWindows()
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)