-
任务一任意选择一副二值图像,通过编程执行腐蚀和膨胀
-
任务二通过编程执行开运算和闭运算
-
任务三通过对有毛刺的二值图像进行毛刺检测
我们选择使用python加opencv的方式来解决问题,因为opencv的库是有腐蚀膨胀开运算闭运算的模块的,我们可以先看一下效果
import cv2 as cv
import numpy as np
image = cv.imread("image.png")
kernel = np.uint8(np.zeros((3,3)))#核函数
for i in range(3):
kernel[1,i] = 1
kernel[i,1] = 1
gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)#将图片转换为灰度图
erode = cv.erode(gray, kernel)#膨胀
dilation = cv.dilate(gray,kernel,iterations = 1)#腐蚀
opening = cv.morphologyEx(gray, cv.MORPH_OPEN, kernel)#开运算
closing = cv.morphologyEx(gray, cv.MORPH_CLOSE, kernel)#闭运算
cv.imshow('gray',gray)
cv.imshow('erode',erode)
cv.imshow('dilation',dilation)
cv.imshow('opening',opening)
cv.imshow('closing',closing)
cv.waitKey (0)
cv.destroyAllWindows()<