0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

简述图像梯度的基本原理

新机器视觉 来源:CSDN技术社区 作者:saltriver 2021-10-19 16:22 次阅读

当用均值滤波器降低图像噪声的时候,会带来图像模糊的副作用。我们当然希望看到的是清晰图像。那么,清晰图像和模糊图像之间的差别在哪里呢?从逻辑上考虑,图像模糊是因为图像中物体的轮廓不明显,轮廓边缘灰度变化不强烈,层次感不强造成的,那么反过来考虑,轮廓边缘灰度变化明显些,层次感强些是不是图像就更清晰些呢。

那么,这种灰度变化明显不明显怎样去定义呢。我们学过微积分,知道微分就是求函数的变化率,即导数(梯度),那么对于图像来说,可不可以用微分来表示图像灰度的变化率呢,当然是可以的,前面我们提到过,图像就是函数嘛。

在微积分中,一维函数的一阶微分的基本定义是这样的:

4c0e69a4-2fed-11ec-82a8-dac502259ad0.png

而图像是一个二维函数f(x,y),其微分当然就是偏微分。因此有:

4c41bb42-2fed-11ec-82a8-dac502259ad0.png

因为图像是一个离散的二维函数,ϵ 不能无限小,我们的图像是按照像素来离散的,最小的ϵ就是1像素。因此,上面的图像微分又变成了如下的形式(ϵ=1):

4c6bb366-2fed-11ec-82a8-dac502259ad0.png

这分别是图像在(x, y)点处x方向和y方向上的梯度,从上面的表达式可以看出来,图像的梯度相当于2个相邻像素之间的差值。

那么,这个梯度(或者说灰度值的变化率)如何增强图像的清晰度呢?

我们先考虑下x方向,选取某个像素,假设其像素值是100,沿x方向的相邻像素分别是90,90,90,则根据上面的计算其x方向梯度分别是10,0,0。这里只取变化率的绝对值,表明变化的大小即可。

我们看到,100和90之间亮度相差10,并不是很明显,与一大群90的连续灰度值在一起,轮廓必然是模糊的。我们注意到,如果相邻像素灰度值有变化,那么梯度就有值,如果相邻像素灰度值没有变化,那么梯度就为0。如果我们把梯度值与对应的像素相加,那么灰度值没有变化的,像素值不变,而有梯度值的,灰度值变大了。

我们看到,相加后的新图像,原图像像素点100与90亮度只相差10,现在是110与90,亮度相差20了,对比度显然增强了,尤其是图像中物体的轮廓和边缘,与背景大大加强了区别,这就是用梯度来增强图像的原理。

上面只是说了x方向,y方向是一样的。那么能否将x方向和y方向的梯度结合起来呢?当然是可以的。x方向和y方向上的梯度可以用如下式子表示在一起:

4d822898-2fed-11ec-82a8-dac502259ad0.png

这里又是平方,又是开方的,计算量比较大,于是一般用绝对值来近似平方和平方根的操作,来降低计算量:

4dc58ee4-2fed-11ec-82a8-dac502259ad0.png

我们来计算一下月球图像的x方向和y方向结合的梯度图像,以及最后的增强图像。

import cv2 import numpy as np moon = cv2.imread(“moon.tif”, 0) row, column = moon.shape moon_f = np.copy(moon) moon_f = moon_f.astype(“float”) gradient = np.zeros((row, column)) for x in range(row - 1): for y in range(column - 1): gx = abs(moon_f[x + 1, y] - moon_f[x, y]) gy = abs(moon_f[x, y + 1] - moon_f[x, y]) gradient[x, y] = gx + gy sharp = moon_f + gradient sharp = np.where(sharp 《 0, 0, np.where(sharp 》 255, 255, sharp)) gradient = gradient.astype(“uint8”) sharp = sharp.astype(“uint8”) cv2.imshow(“moon”, moon) cv2.imshow(“gradient”, gradient) cv2.imshow(“sharp”, sharp) cv2.waitKey()

来源:CSDN,作者:saltriver。

原文链接:https://blog.csdn.net/saltriver/article/details/78987096

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 滤波器
    +关注

    关注

    158

    文章

    7331

    浏览量

    174776
  • 函数
    +关注

    关注

    3

    文章

    3868

    浏览量

    61308

原文标题:图像梯度的基本原理

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    激光二极管基本原理介绍

    激光二极管基本原理介绍
    发表于 03-19 10:57

    浪涌抑制器的基本原理和种类?

    浪涌抑制器的基本原理和种类?|深圳比创达电子
    的头像 发表于 01-18 09:59 294次阅读
    浪涌抑制器的<b class='flag-5'>基本原理</b>和种类?

    无功补偿装置的基本原理及作用

    无功补偿装置的基本原理及作用
    的头像 发表于 11-27 10:46 297次阅读
    无功补偿装置的<b class='flag-5'>基本原理</b>及作用

    变压器纵差保护基本原理和接线

    变压器纵差保护基本原理和接线
    的头像 发表于 11-23 16:25 436次阅读
    变压器纵差保护<b class='flag-5'>基本原理</b>和接线

    开关电源的基本原理与设计

    电子发烧友网站提供《开关电源的基本原理与设计.rar》资料免费下载
    发表于 11-17 09:53 3次下载
    开关电源的<b class='flag-5'>基本原理</b>与设计

    开关电源的基本原理

    电子发烧友网站提供《开关电源的基本原理.doc》资料免费下载
    发表于 11-15 11:01 1次下载
    开关电源的<b class='flag-5'>基本原理</b>

    无功补偿的意义及基本原理

    无功补偿的意义及基本原理
    的头像 发表于 11-08 09:08 232次阅读
    无功补偿的意义及<b class='flag-5'>基本原理</b>

    了解矢量网络分析的基本原理

    了解矢量网络分析的基本原理
    发表于 11-02 15:11 1次下载

    3G技术基本原理

    电子发烧友网站提供《3G技术基本原理.pdf》资料免费下载
    发表于 11-01 14:27 0次下载
    3G技术<b class='flag-5'>基本原理</b>

    开关电源基本原理与设计介绍

    开关电源基本原理与设计介绍(PPT)
    发表于 09-28 06:30

    开关电源基本原理与设计介绍

    开关电源基本原理与设计介绍
    发表于 08-14 14:49 24次下载

    密码学基本原理(上)

    电子发烧友网站提供《密码学基本原理(上).pdf》资料免费下载
    发表于 08-02 09:13 1次下载
    密码学<b class='flag-5'>基本原理</b>(上)

    安全光栅的基本原理及优势

    安全光栅的基本原理及优势
    的头像 发表于 06-29 09:41 676次阅读
    安全光栅的<b class='flag-5'>基本原理</b>及优势

    LLC基本原理及设计方法

    LLC基本原理及设计方法
    发表于 06-25 10:05 6次下载

    图像采集卡的基本原理、应用领域和发展趋势

    图像采集卡是一种硬件设备,用于将模拟视频信号转换为数字信号,并将其传输到计算机中进行处理和存储。它通常用于监控、视频会议、医学图像等领域。本文将介绍图像采集卡的基本原理、应用领域和发展
    的头像 发表于 05-30 15:42 930次阅读
    <b class='flag-5'>图像</b>采集卡的<b class='flag-5'>基本原理</b>、应用领域和发展趋势