1.op = cv2.GRADIENT 用于梯度运算-膨胀图像-腐蚀后的图像

梯度运算:表示的是将膨胀以后的图像 - 腐蚀后的图像,获得了最终的边缘轮廓

代码:

第一步:读取pie图片

第二步:进行腐蚀和膨胀操作

第三步:将膨胀的图像 - 腐蚀的图像,获得相减得图像

第四步:使用cv2.morphologyEx(src, cv2.GRADIENT, kernel) 获得梯度运算的图片的操作

第五步:绘制第三步和第四步生成的图片

import cv2
import numpy as np

# 第一步:读取图片
pie = cv2.imread('pie.png')

# 第二步:绘制腐蚀和膨胀图片
kernel = np.ones((5, 5), np.uint8)
erosion = cv2.erode(pie, kernel, iterations=2)
dilate = cv2.dilate(pie, kernel, iterations=2)
# 第三步:相减获得对应的图片
decrease = dilate - erosion
print(decrease.shape)
cv2.imshow('pie', pie)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 第四步:使用cv2.MORPH_GRADIENT获得梯度运算的图片
gradient = cv2.morphologyEx(pie, cv2.MORPH_GRADIENT, kernel, iterations=2)
# 第五步:绘制两者的图片
cv2.imshow('gradient', np.hstack((decrease, gradient)))
cv2.waitKey(0)
cv2.destroyAllWindows()

 

posted on 2019-02-18 13:38  python我的最爱  阅读(1204)  评论(0编辑  收藏  举报