深圳网站建设公司 交通,安徽四建东方建设有限公司网站,wordpress 调用图片,珠宝网站谁家做的好顶帽(Top Hat)#xff1a;原图像与开操作之间的差值图像#xff0c;突出原图像中比周围亮的区域黑帽(Black Hat)#xff1a;闭操作图像与原图像的差值图像, 突出原图像中比周围暗的区域形态学梯度(Gradient)#xff1a;基础梯度#xff1a;基础梯度是用膨胀后的图像减去腐…顶帽(Top Hat)原图像与开操作之间的差值图像突出原图像中比周围亮的区域黑帽(Black Hat)闭操作图像与原图像的差值图像, 突出原图像中比周围暗的区域形态学梯度(Gradient)基础梯度基础梯度是用膨胀后的图像减去腐蚀后的图像得到差值图像称为梯度图像也是opencv中支持的计算形态学梯度的方法而此方法得到梯度有称为基本梯度。内部梯度是用原图像减去腐蚀之后的图像得到差值图像称为图像的内部梯度。外部梯度图像膨胀之后再减去原来的图像得到的差值图像称为图像的外部梯度。顶帽python实现以及结果deftop_hat_demo(image):graycv2.cvtColor(image, cv2.COLOR_BGR2GRAY)kernel cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))dstcv2.morphologyEx(gray, cv2.MORPH_TOPHAT, kernel)#提升亮度cimage np.array(gray.shape, np.uint8)cimage 100dstcv2.add(dst, cimage)cv2.imshow(top_hat_demo, dst)黑帽python实现以及结果defblack_hat_demo(image):graycv2.cvtColor(image, cv2.COLOR_BGR2GRAY)kernel cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))dstcv2.morphologyEx(gray, cv2.MORPH_BLACKHAT, kernel)#提升亮度cimage np.array(gray.shape, np.uint8)cimage 100dstcv2.add(dst, cimage)cv2.imshow(black_hat_demo, dst)二值图像的顶帽与黑帽操作def threshold_top_hat_demo(image): #二值图像顶帽操作gray cv2.cvtColor(image, cv2.COLOR_BGRA2GRAY)ret, thresh cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY |cv2.THRESH_OTSU)kernel cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))dstcv2.morphologyEx(thresh, cv2.MORPH_TOPHAT, kernel)cv2.imshow(dst, dst)def threshold_black_hat_demo(image): #二值图像黑帽操作gray cv2.cvtColor(image, cv2.COLOR_BGRA2GRAY)ret, thresh cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY |cv2.THRESH_OTSU)kernel cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))dstcv2.morphologyEx(thresh, cv2.MORPH_BLACKHAT, kernel)cv2.imshow(dst, dst)形态学梯度操作defgradient1_demo(image):cv2.imshow(image, image)graycv2.cvtColor(image, cv2.COLOR_BGRA2GRAY)ret, thresh cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY |cv2.THRESH_OTSU)kernel cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))dst cv2.morphologyEx(thresh, cv2.MORPH_GRADIENT, kernel) #基本梯度cv2.imshow(dst, dst)defgradients2_demo(image):cv2.imshow(image, image)kernel cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))dmcv2.dilate(image, kernel)emcv2.erode(image, kernel)dst1 cv2.subtract(image, em) #内部梯度dst2 cv2.subtract(dm, image) #外部梯度cv2.imshow(internal, dst1)cv2.imshow(external, dst2)内部梯度外部梯度结果