图像处理------Python之图像的求导以及图像的梯度图求取

先利用Sobel算子对图像进行求导(这里求导的方法有很多,也可以选择高斯算子求导,或者普瑞维特(Prewitt)算子等求导),然后利用公式 g m = ( d x ) 2 + ( d y ) 2
使用opencv库函数,python程序如下:

img = cv2.imread('46.bmp', 0) # 后面参数为0表示取灰度图
img1 = cv2.cvtColor(img0, cv2.COLOR_BGR2RGB)
sobelx = cv2.Sobel(img,cv2.CV_64F,1,0,ksize=3)#默认ksize=3
sobely = cv2.Sobel(img,cv2.CV_64F,0,1)
gm = cv2.sqrt(sobelx ** 2 + sobely ** 2)
plt.subplot(121),plt.imshow(img)
plt.subplot(122),plt.imshow(gm1)
plt.figure()

结果图如下:
这里写图片描述

右图即为所求图像梯度幅值特征图

猜你喜欢

转载自blog.csdn.net/qq_36427732/article/details/81118429