形态学检测边缘的原理很简单,在膨胀时,图像中的物体会想周围“扩张”;腐蚀时,图像中的物体会“收缩”。比较这两幅图像,由于其变化的区域只发生在边缘。所以这时将两幅图像相减,得到的就是图像中物体的边缘。
#coding:utf-8
"""
opencv形态学边缘检测
"""
import cv2
import numpy as np
import matplotlib.pyplot as plt
#读取灰度图
img = cv2.imread('images/figure_2.png',0)
cv2.imshow('original img',img)
#定义一个3*3的十字形结构元素
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(3,3))