分享

python+opencv图像处理(二十五)

 pythonjava学习 2021-04-06
图像锐化(image sharpening)可以增强图像的边缘部分。
1、梯度
图像锐化的方法很多,梯度法是其中较常用的一种。
梯度是函数变化的一种度量,是一阶导数的二维等效形式,利用梯度的离散逼近函数来检测图像中边缘的方法称为“梯度法”。
计算梯度的公式,网上可以直接搜到,以微分的形式写的,但可以近似为下式:
这样在计算时比较方便。其算子可用下图表示为:
梯度计算出来以后的梯度图像有五种显示方式,本篇介绍第一种,其他几种将在下篇介绍;
(1)坐标(x,y)处的值就等于该点的梯度,即:
g(x,y)=G[f(x,y)]
如下图所示,左图为原图,右边为梯度图像。由图可以看到,用梯度法能检测到边缘,但由于梯度法的计算式,除了轮廓之外,其余部分为全黑。         其完整代码如下:
梯度法在写代码时,也可以直接用filter2D对其进行卷积。
代码如下:

因为有x轴和y轴卷积,下图是分别卷积后的结果。          

下图是最后的运行结果,检测出来的边缘,与上上图是一样的,左图为原图,右图为检测后的图,可以明显看到字母T的边缘,只是除了边缘,其余部分都变成黑色了
本种显示方式只显示边缘,其余部分全部是黑的是因为在使用梯度公式进行计算时,算出来的结果全为0

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多