
from imutils import *
image = imread('image/bricks.png')
show(image)
def gradient(image):
image = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
# cv2.CV_64F输出图像的深度(数据类型),64位float类型,因为梯度可能是正也可能是负
laplacian = cv2.Laplacian(image, cv2.CV_64F)
# 1, 0表示在x方向求一阶导数,最大可以求2阶导数
sobelx = cv2.Sobel(image, cv2.CV_64F, 1, 0, ksize=3)
# 0, 1表示在y方向求一阶导数,最大可以求2阶导数
sobely = cv2.Sobel(image, cv2.CV_64F, 0, 1, ksize=3)
titles = ['Original', 'Laplacian', 'SobelX', 'SobelY']
images = [image,laplacian,sobelx,sobely]
plt.figure(figsize=(10,5))
for i in range(4):
plt.subplot(2,2,i+1)
plt.imshow(images[i],'gray')
plt.title(titles[i])
plt.axis('off')
plt.show()
gradient(image)
