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

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

3天内不再提示

图像卷积操作的两点注意事项

汽车玩家 来源:CSDN 作者:编号1993 2020-03-13 16:44 次阅读

图像卷积概念

图像卷积操作(convolution),或称为核操作(kernel),是进行图像处理的一种常用手段,

图像卷积操作的目的是利用像素点和其邻域像素之前的空间关系,通过加权求和的操作,实现模糊(blurring),锐化(sharpening),边缘检测(edge detection)等功能。

图像卷积的计算过程就是卷积核按步长对图像局部像素块进行加权求和的过程。

卷积核实质上是一个固定大小的权重数组,该数组中的锚点通常位于中心

卷积核大小

通常情况下,选取卷积核大小为1x1,3x3,5x5,7x7等

取奇数大小的目的是为了设置卷积核中心为锚点,方便卷积核和图像的对齐处理

设置卷积核大小对称的目的是为了在空间域中充分利用像素点和其领域像素间的关系。当然这不是必须的,如果需要针对某一轴进行处理,可以设置1x3或3x1大小。

参考:

Convolution

Kernel (image processing)

图像卷积数学公式

二维离散卷积公式如下:

图像卷积操作的两点注意事项

图像卷积通常使用这个公式,其中g[x,y]g[x,y]g[x,y]为卷积核,符号∗ast∗表示卷积操作

图形化表示

以一维离散卷积公式为例:

图像卷积操作的两点注意事项

其图形化公式如下:

首先将函数 g(τ) 反射为 g(−τ) ,相当于 g(τ) 沿yyy轴翻转

再对函数 g(−τ) 添加一个时间偏移量 t ,它允许函数 g(t−τ) 沿着 τ 轴移动

变量 t 每增加 1,表示函数 g(t−τ) 向左移动一步

计算 t 遍历 −∞ 到 ∞ 的过程中,函数 f(τ) 和 g(t−τ) 的重叠面积

举例

函数 f = [1,2,3,4] ,函数 g = [1,3,2]

将函数 g 逆转:g(τ) ⇒ g(−τ),值变为[2,3,1]

计算过程如下:

h(0)=[1]⋅[1]=1⋅1=1

h(1)=[1,2]⋅[3,1]=1⋅3+2⋅1=3+2=5

h(2)=[1,2,3]⋅[2,3,1]=1⋅2+2⋅3+3⋅1=2+6+3=11

h(3)=[2,3,4]⋅[2,3,1]=2⋅2+3⋅3+4⋅1=4+9+4=17

h(4)=[3,4]⋅[2,3]=3⋅2+4⋅3=6+12=18

h(5)=[4]⋅[2]=4⋅2=8

h(x)=[1,5,11,17,18,8]

以此类推可知二维离散卷积的计算过程,先对角翻转卷积核,在逐步向两个正方向移动,计算重叠面积

flip the mask (horizontally and vertically) only once(水平和垂直翻转掩模一次)

slide the mask onto the image(在图像上滑动掩模)

multiply the corresponding elements and then add them(将相应的元素相乘,然后求和)

repeat this procedure until all values of the image has been calculated(重复这一过程,直到所有图像值均已被计算)

多说一句,关于信号与系统中的LTI(linear time-invariant systems,线性时不变系统)和LSI(linear shift invariant system,线性位移不变系统)的不变性一直没太理解,图形化理解就是信号(函数)可以随着时间/空间移动而不改变它的原先的形状,就像卷积核一样。

图像卷积注意事项

在进行卷积操作时,需要注意两点

卷积核归一化

卷积核的大小和值可以根据要求定义,但通常会将整个卷积核进行归一化操作,其目的是为了保证修改后结果图像的平均元素值和原始图像平均元素值一样。

因为卷积操作满足齐次性,所以可以卷积计算完成后再除以整个卷积核的值。

数值精度

图像数值类型通常为uint8,在进行卷积操作时很容易造成数值溢出,所以在进行操作之前可以先转换成更高精度的数值类型

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

    关注

    0

    文章

    95

    浏览量

    18409
收藏 人收藏

    评论

    相关推荐

    RX66N组的高温操作注意事项

    电子发烧友网站提供《RX66N组的高温操作注意事项.pdf》资料免费下载
    发表于 01-29 11:22 0次下载
    RX66N组的高温<b class='flag-5'>操作</b><b class='flag-5'>注意事项</b>

    RX72N组的高温操作注意事项

    电子发烧友网站提供《RX72N组的高温操作注意事项.pdf》资料免费下载
    发表于 01-29 11:21 0次下载
    RX72N组的高温<b class='flag-5'>操作</b><b class='flag-5'>注意事项</b>

    RX78M组的高温操作注意事项

    电子发烧友网站提供《RX78M组的高温操作注意事项.pdf》资料免费下载
    发表于 01-29 11:19 0次下载
    RX78M组的高温<b class='flag-5'>操作</b><b class='flag-5'>注意事项</b>

    电子负载并联操作注意事项

    电子负载并联操作注意事项 电子负载是一种测试和模拟电路负载的设备,可以模拟不同负载条件下的电流和电压。电子负载的并联操作是指将两个或更多个电子负载连接在一起以增加负载容量和灵活性。通过并联
    的头像 发表于 01-22 13:42 307次阅读

    操作擦除SPIM必须注意事项说明

    操作擦除SPIM必须注意事项说明当擦除SPIM 的操作代码放置在非零等待区(NZW)时,可能导致程序执行异常、进hardfault 等错误。
    发表于 10-23 06:55

    维谛通信电源NetSure731A61-S4安全注意事项

    在开始操作之前,请仔细阅读操作指示、注意事项,以减少意外的发生。产品及产品手册中的“小心、注意、警告、危险”事项,并不代表所应遵守的所有安全
    的头像 发表于 09-01 16:27 742次阅读
    维谛通信电源NetSure731A61-S4安全<b class='flag-5'>注意事项</b>

    使用注意事项

    使用注意事项
    发表于 07-07 19:04 0次下载
    使用<b class='flag-5'>注意事项</b>

    BGA返修台在实际操作中的注意事项有哪些?

    BGA返修台在实际操作中,应谨慎操作注意事项非常重要,以下就来详细介绍BGA返修台在实际操作中的注意事项
    的头像 发表于 06-07 13:47 473次阅读

    QB-780731(控制代码:A、B、C)操作注意事项

    QB-780731(控制代码:A、B、C)操作注意事项
    发表于 05-04 18:59 0次下载
    QB-780731(控制代码:A、B、C)<b class='flag-5'>操作</b><b class='flag-5'>注意事项</b>

    QB-78K0KX2(控制代码:B、C、D、E、F)操作注意事项

    QB-78K0KX2(控制代码:B、C、D、E、F)操作注意事项
    发表于 04-28 19:38 0次下载
    QB-78K0KX2(控制代码:B、C、D、E、F)<b class='flag-5'>操作</b><b class='flag-5'>注意事项</b>

    PG-FP4(控制代码:B、C、E、F、G、H)操作注意事项

    PG-FP4(控制代码:B、C、E、F、G、H)操作注意事项
    发表于 04-27 19:12 0次下载
    PG-FP4(控制代码:B、C、E、F、G、H)<b class='flag-5'>操作</b><b class='flag-5'>注意事项</b>

    QB-MINI2操作注意事项

    QB-MINI2操作注意事项
    发表于 04-27 18:58 0次下载
    QB-MINI2<b class='flag-5'>操作</b><b class='flag-5'>注意事项</b>

    QB-78K0RKX3(控制代码:E、F、G、H、J、K、L、M)操作注意事项

    QB-78K0RKX3(控制代码:E、F、G、H、J、K、L、M)操作注意事项
    发表于 04-26 20:38 0次下载
    QB-78K0RKX3(控制代码:E、F、G、H、J、K、L、M)<b class='flag-5'>操作</b><b class='flag-5'>注意事项</b>

    QB-78K0SKX1(控制代码:A、B、C)操作注意事项

    QB-78K0SKX1(控制代码:A、B、C)操作注意事项
    发表于 04-26 20:27 0次下载
    QB-78K0SKX1(控制代码:A、B、C)<b class='flag-5'>操作</b><b class='flag-5'>注意事项</b>

    QB-78K0LX3(控制代码:A、B、C、D)操作注意事项

    QB-78K0LX3(控制代码:A、B、C、D)操作注意事项
    发表于 04-26 20:17 0次下载
    QB-78K0LX3(控制代码:A、B、C、D)<b class='flag-5'>操作</b><b class='flag-5'>注意事项</b>