import cv2
import numpy as np
# 腐蚀kernel
dilate_kernel = np.ones((3,3))
# 膨胀kernel
erose_kenel = np.array([[255,255,255],[255,255,255],[255,255,255]])
test_img = cv2.imread('../data/testpic.jpg')
print(test_img.shape)
# 膨胀或腐蚀的迭代次数
test_img1 = cv2.dilate(test_img, dilate_kernel,iterations=1)
test_img2 = cv2.erode(test_img, erose_kenel, iterations=1)
cv2.imshow('test', test_img)
cv2.imshow('test1', test_img1)
cv2.imshow('test2', test_img2)
# 用了使窗口显示,不加会显示一下就关闭
cv2.waitKey(0)
# 清除所有窗口
cv2.destroyAllWindows()
开运算,闭运算,顶帽,黑帽
import cv2
# test_img = cv2.imread('../data/testfont.jpg')
test_img = cv2.imread('../data/testroadline.jpg')
print(test_img.shape)
# H, W, C
# H 方向为1时,Top_Hat 检测W方向的直线
# W 方向为1时,Top_Hat 检测H方向的直线
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(1,7))
# 开运算:先腐蚀,后膨胀
open_img = cv2.dilate(cv2.erode(test_img, kernel), kernel)
# 闭运算:先膨胀,后腐蚀
close_img = cv2.erode(cv2.dilate(test_img, kernel), kernel)
# 顶帽:原图-开运算
top_hat = t

本文介绍了如何使用Python的OpenCV库进行图像处理,包括膨胀、腐蚀操作,以及复杂的开运算和闭运算。同时,还详细探讨了顶帽和黑帽操作在图像增强和噪声去除中的应用。
最低0.47元/天 解锁文章
2万+

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



