移商网站建设,wordpress默认的后台账号密码,稳重大气的建筑公司名字,国外网站后台模板下载开运算#xff08;Opening#xff09;原理和作用#xff1a; 开运算是图像形态学处理中的一种操作#xff0c;它由两个步骤组成#xff1a;先进行腐蚀#xff08;Erosion#xff09;#xff0c;再进行膨胀#xff08;Dilation#xff09;。开运算的主要目的是消除图像…开运算Opening原理和作用 开运算是图像形态学处理中的一种操作它由两个步骤组成先进行腐蚀Erosion再进行膨胀Dilation。开运算的主要目的是消除图像中的小型噪点白色噪点对应的是小型黑色区域黑色噪点对应的是小型白色区域同时保留图像中大型物体的结构特征。
开运算的数学表达 给定输入图像 I I I、结构元素 B B B开运算可以用数学表达式表示为 Opening ( I , B ) Dilation ( Erosion ( I , B ) , B ) \text{Opening}(I, B) \text{Dilation}(\text{Erosion}(I, B), B) Opening(I,B)Dilation(Erosion(I,B),B) 其中 Erosion ( I , B ) \text{Erosion}(I, B) Erosion(I,B) 表示输入图像 I I I被结构元素 B B B腐蚀的结果 Dilation ( ⋅ ) \text{Dilation}(\cdot) Dilation(⋅) 表示膨胀操作。
适用场景
去除小型噪点或者孤立的像素平滑物体边缘保留物体的整体结构提取比结构元素更小的物体。
代码示例 以下是使用 OpenCV 和 Python 进行开运算的简单示例
import cv2
import numpy as npdef show_images(image):cv2.namedWindow(image,cv2.WINDOW_KEEPRATIO)cv2.imshow(image,image)cv2.waitKey()cv2.destroyAllWindows()def Open(image):# 定义结构元素可以自定义不同形状和大小的结构元素kernel np.ones((5, 5), np.uint8) # 5x5 的全白正方形作为结构元素# 进行开运算opened_image cv2.morphologyEx(image, cv2.MORPH_OPEN, kernel)return opened_imageif __name__ __main__:# 读取图像img cv2.imread(cat-dog.png, flags0)re_imgOpen(img)# # 将四张图像连接成一个大图像# top_row np.hstack((img, re_img[0]))# bottom_row np.hstack((re_img[1], re_img[2]))# combined_img np.vstack((img, re_img))combined_imgnp.hstack((img,re_img))show_images(combined_img)